瓜皮猪的站点是使用的是阿里云的服务器,宝塔面板基于WordPress建立的。最近更换了好一点的阿里服务器,更换以后发现宝塔面板首页中的负载状态和CPU使用率一直处于红色状态,负载状态一度达到100%。使用TOP命令发现好几个php-fpm进程占用了大量的资源。本人小白,百度和尝试了很多相关问题的解决办法,现在将自己解决的方法分享出来。
目前主流的有三种办法可以解决。
瓜皮猪对比以前的服务器配置发现是没有开启Memcached和OPcache造成的。
1.使用 Memcached 把数据缓存到内存;
2.使用 OPcache 加速 PHP 代码执行效率;
3.php-fpm: 适当限制php并发。
(慎用!因为我使用的服务器配置不高,调整以后登陆后台和打开网站的速度超级慢)
(说明:服务器中搜到php-fpm.conf这个文件打开进行配置,其中 pm = dynamic 改为 pm= static 另外 pm.max_children = XXX的数值建议是: xxx=机器内存(M) 除以40 。这个得出的数值自己适当调整)
1.使用 Memcached 把数据缓存到内存
安装Memcached
登录到宝塔面板后台,在面板中找到“软件商店”选项,并点击进入,选择“运行环境”选项卡,然后找到您当前正在运行的PHP版本,点击旁边的“设置”选项。
在PHP管理页面中,找到“安装扩展”选项,并点击进入。
在扩展列表中,找到“memcached”扩展,并点击“安装”按钮。
memcached 上面还有一个 memcache, 注意:不要安装错了。
安装完成后,您可以在已安装的软件列表中看到Memcached。
安装完成后,可以在 phpinfo 里看看是否安装成功,安装成功的话如图所示:
同时你会发现在“软件商店”中“已安装”列表中,也会显示安装好了的memcached版本。
下载memcached的插件,下载地址
https://github.com/tollmanz/wordpress-pecl-memcached-object-cache
下载里面的object-cache.php 的文件
将object-cache.php文件上传到 wp-content 目录下。
注意:不是插件目录!是wp-content目录下,别上传错位置了。
现在,memcached的启用基本完成,打开你的网站查看是否速度有所提升。
如何确认是否开启memcached:|
可以在宝塔的memcached管理里查看,hit的数值只要不是原始的 1% ,则表示你的memcached 已经成功开启。
如果打开网站出现错误,或者hit的数值没有变化,可以重启一下服务器。
2.使用 OPcache 加速 PHP 代码执行效率
如果你使用的PHP版本大于等于7.0,建议将opcache缓存也打开,能极大的提高网站运行效率。
同样是在PHP管理页面中,找到“opcache”选项,安装即可。