宝塔Linux面板以简洁的风格、实用的功能、简便的操作而被广大草根站长所接受,是Linux系统服务器、VPS建站的入门级面板。为什么说是入门级,因为为服务器安装宝塔Linux面板后,可以通过WEB管理页面进行服务器管理,可以一键安装LNMP与LAMP建站环境,并且能进行服务器实时监控、防火墙、一键为网站部署SSL证书、定时任务、服务器文件在线管理等操作。虽然宝塔面板已经慢慢的开始转型,但是其现有的免费功能基本能满足绝大多数人的建站需求。如果你还是第一次接触宝塔Linux面板,可以查看下此文章,里面有详细的安装及基本功能的使用教程,
在此文章中主要为大家分享下解决宝塔Linux面板php-fpm占用CPU太高问题(暨php-fpm高负载优化问题)。前段时间网站出现了php-fpm突发过高,经常出现CPU占用100%问题,对用户的浏览体验带来了一定的影响。首先确定了自己的博客没有遭到攻击,于是想办法到处找解决php-fpm占用CPU过高的方案,通过搜索引擎找到的解决方法五花八门,有格式是各样的问题,看来造成php-fpm负载过高的原因有很多,大家出现这样的问题也不一定通过搜索引擎找得到解决办法。就当准备进行全站备份,重装服务器系统时,决定破釜沉舟自己试试自己的办法,没想到把问题给解决了。于是通过此文章记录下解决的步骤,希望对遇到同样问题的人有所帮助。但是不保证100%有效哦。另外执行下面操作前请一定先全站异地备份,以免出现不可挽救的错误造成网站数据丢失。
这里说到的方法并不能从根本上解决php-fpm占用CPU太高问题,最后wordpress使用了一段自动添加内链的代码造成了php-fpm占用CPU过高问题,所以建议大家尽量少使用插件或主题本身以外的代码。
解决方案
优化PHP7.0设置。按下图操作先进入到PHP7.0管理页面。
首先先安装一个opcache缓冲器,用于加速PHP脚本,其他的就都按默认的来吧,往往安装这个那个影响性能。
修改max_execution_time时间为60.
性能调整。这里大家可以根据自己服务器配置进行设置,宝塔面板比较人性化,会根据你的服务器配置设置推荐方案。其实设置并发多少,大家可以根据自己服务器内存大小进行计算,一般一个php-fpm进程占用内存30M左右,以2048MB内存(2G内存)来计算,大概可以设置68个并发。就是4核2G内存配置的服务器,安装宝塔面板后推荐的事50并发,但蜗牛觉得自己更笨用不到那么高的并发,所以设置了30并发的方案,并把max_spare_servers数字调整成了15.
按照上面操作后,发现服务器CPU不像之前一样经常性占用100%了,虽然php fpm有时候还会出现突发占用CPU 100%的情况,但基本很快就会恢复正常,对客户的浏览不会造成过多的影响。分析原因的话不是知道是不是兼容性问题,因为对这些东西没有过多的研究,只是恰巧碰到运气而已吧,说得不对的地方请大佬们指正。
http://xzh.i3geek.com