【博客更新记录】博客安装插件和修改代码

【博客更新记录】博客安装插件和修改代码

2020/09/05 博客系统偶尔遇到访问慢 和 连接数据库出错的情况。遇到 在后台查看 WP Statistics 统计数据时,经常遇到连接数据库出错的情况,当时以为是WP Statistics 用到了国外的文件,所以访问会出错,因为之前有过类似的经验,WP站的很多东西都是国外的地址,所以当时也没想太多。(安装了memcached)

wordpred连接数据库出错
wordpred连接数据库出错

而且网站访问过程中,偶尔也会遇到反应很慢的情况,当时以为是应该WP国外资源 和 服务器是香港服务器的原因。今天 查了下 大家好像没有出现过这个情况,那这个问题应该不是 我理解的这样,然后看了下服务器的运行情况,发现服务器内存占用情况挺严重的。然后想着 解决下这个问题。

看了下 平时正常使用 的内存占用有点高:

宝塔服务器资源情况
宝塔服务器资源情况

之前买服务器的时候,选择的 1核1G1M的,感觉做个博客服务器够用了,现在看来还是不太够用,然后就想办法解决问题,显示把 网站的静态资源放到 七牛云上,避免请求数据多,造成的网站内存高的问题。七牛云测试完成之后,用了 HTTP + HTTPS 的方式,同一个Bucket使用两个域名。现在访问量不高的情况下,HTTPS 也没多少费用,如果服务器要放视频或者大文件,就直接用 HTTP 的CDN,正常的图片资源就用HTTPS访问了,我用HTTPS 就是想试下 七牛云的费用情况,如果后续 不是很贵,就一直用了,如果后续费用比较贵,那就一直切回 HTTP,毕竟同一个 bucket,只是在服务器切换个 url的操作。现在看来可以接受的。

七牛云财务信息
宝塔服务器资源情况

将网站的静态资源放到 七牛云之后,减少了 对我服务器资源的访问,但是有时候内存还是挺高的,看了下网上的说法,也结合自己遇到的问题,WP Statistics 统计数据,经常出现 连接数据库出错,估计是 内存占用高的问题,每次去查询数据库都出现这种情况。

考虑两个解决方案,一个从数据库层面解决问题,一个从网站端解决问题。

mysql 默认使用的搜索引擎是 InnoDB,也是最流行的搜索引擎了,也是缓存用的最多的数据库,比较消耗性能,可以改成MyISAM,对数据库请求不是很多,并且数据库数据量小的情况下,用InnoDB有点得不偿失,特别是 服务器内存不够用的情况下。但是改数据库引擎到底是个特殊的操作,所以我不太想改。

服务器的话,用的wordpress的博客系统,使用的PHP,可以通过加缓存的方式,缓解服务器的内存占用问题。比如:redis memcached、等扩展的方式。我使用的是 memcached ,因为这个扩展,评价挺高的,而且我对redis有一点了解了,但是memcached 还没用过,所以想试下这个,使用是超级简单的。

首先,在服务器的php添加扩展:(我用宝塔直接安装)安装较慢,耐心等待

宝塔 php扩展管理
宝塔 php扩展管理

安装完成之后,需要在服务器上传一个配置文件,多数人用的都是 batcache插件中配置,我在这儿放一个配置文件:advanced-cache.php

下载之后,修改文件后缀为php,将文件上传到 wp-content 目录下,然后在 wp-config.php 添加配置信息:

/** 服务器缓存 Memcached */
define('ENABLE_CACHE', true);
define('WP_CACHE', true);

可以通过宝塔后台 或者 安装管理工具,查看

memcached管理
memcached管理

缓存的命中率挺高的,这意味着我不用每次请求都访问数据库,请求本地资源。有很多资源可以通过缓存获取,这样我服务器的性能运行就会更快一些。

但是,我尝试用 WP Statistics插件去查询服务器访问信息的时候,还是会出现 CPU 和负载飙到 100%的情况出现,当时就认为是 mysql 数据库的问题了,memcached 并不彻底解决这个问题。但是第一次注意到 负载的问题,然后去看了一些文章,关于wordpress 这个博客系统的,显然,大家都知道这个博客系统冗余,消耗性能,后来找到一些解决方案,在做了尝试之后发现 Opcache 插件的效果很明显,起码对我这个问题是这样的,具体的原来我还不太明白。一般是php自带的扩展,但是宝塔安装的php没有自带这个扩展,需要去后台安装一下 ,安装非常简单: (软件商店–php—设置—安装扩展)

宝塔 php扩展管理
宝塔 php扩展管理

稍微等一会就好了,有一些配置可以修改,但是我没有改动,再次查询 WP Statistics的时候,发现 负载不会很高了,是比较稳定的,然后CPU 可能会飚的高一点,但是也是比较稳定的。现在的系统不再在出现 WP Statistics 卡死 和 连接数据库出错的问题了。在使用 WP Statistics 查询信息的时候:

云服务器资源情况
云服务器资源情况

之前负载会飚很高,然后容易卡死,CPU也会飚到100%,现在负载已经稳定了,CPU 也只有查询的一瞬间会 到80%,然后马上就下来了。

感觉一些插件是蛮好的,但是我还是想遇到问题,解决问题,而不是一股脑的安装插件,把问题提前处理掉,这样对我的学习不利的。

后续:

1. memcached-is-your-friend 插件的作用
2. object-cache.php 和 advanced-cache.php 的区别
0 0 vote
Article Rating
Subscribe
提醒
guest
0 评论
Inline Feedbacks
View all comments