宝塔Linux面板解决php-fpm占用CPU太高 php-fpm高负载优化

内容纲要

宝塔Linux面板以简洁的风格、实用的功能、简便的操作而被广大草根站长所接受,是Linux系统服务器、VPS建站的入门级面板。为什么说是入门级,因为为服务器安装宝塔Linux面板后,可以通过WEB管理页面进行服务器管理,可以一键安装LNMP与LAMP建站环境,并且能进行服务器实时监控、防火*、一键为网站部署SSL证书、定时任务、服务器文件在线管理等操作。虽然宝塔面板已经慢慢的开始转型,但是其现有的免费功能基本能满足绝大多数人的建站需求。如果你还是第一次接触宝塔Linux面板,可以查看下此文章,里面有详细的安装及基本功能的使用教程,#推荐#宝塔Linux面板5.X免费版安装\SSL配置\异地备份教程

在此文章中蜗牛主要为大家分享下解决宝塔Linux面板php-fpm占用CPU太高问题(暨php-fpm高负载优化问题)。前段时间蜗牛789出现了php-fpm突发过高,经常出现CPU占用100%问题,对用户的浏览体验带来了一定的影响。首先蜗牛确定了自己的博客没有遭到攻击,于是想办法到处找解决php-fpm占用CPU过高的方案,通过搜索引擎找到的解决方法五花八门,有格式是各样的问题,看来造成php-fpm负载过高的原因有很多,大家出现这样的问题也不一定通过搜索引擎找得到解决办法。就当蜗牛准备进行全站备份,重装服务器系统时,蜗牛决定破釜沉舟自己试试自己的办法,没想到把问题给解决了。于是通过此文章记录下解决的步骤,希望对遇到蜗牛同样问题的人有所帮助。但是不保证100%有效哦。另外执行下面操作前请一定先全站异地备份,以免出现不可挽救的错误造成网站数据丢失。

首先点击这里注册一个宝塔账号。然后按下面流程进行宝塔面板安装。使用蜗牛的链接注册账号,安装宝塔面板成功后并绑定宝塔账号可以获得半年的宝塔微信小程序使用权。

2018.12.24更新:这里说到的方法并不能从根本上解决php-fpm占用CPU太高问题,最后wordpress使用了一段自动添加内链的代码造成了php-fpm占用CPU过高问题,所以建议大家尽量少使用插件或主题本身以外的代码。

s解决方案

1、蜗牛通过宝塔面板安装的建站环境是LNMP,使用的Nginx 1.12、MySQL 5.5、PHP-5.4,解决过程当中,蜗牛先把MySQL 5.5升级到了5.5的最新版本,紧接着新安装了PHP7.0版本,并升级到最新版本。

2、通过网站管理,更换PHP5.4版本为PHP7.0。

3、优化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%的情况,但基本很快就会恢复正常,对客户的浏览不会造成过多的影响。分析原因的话不是知道是不是兼容性问题,因为蜗牛个人对这些东西没有过多的研究,只是恰巧碰到运气而已吧,说得不对的地方请大佬们指正。

来源: 宝塔Linux面板解决php-fpm占用CPU太高 php-fpm高负载优化