学习笔记

您现在的位置是:首页 > 服务器技术 > 正文

服务器技术

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

weizhe2021-08-08服务器技术3072

宝塔Linux面板以简洁的风格、实用的功能、简便的操作而被广大草根站长所接受,是Linux系统服务器、VPS建站的入门级面板。为什么说是入门级,因为为服务器安装宝塔Linux面板后,可以通过WEB管理页面进行服务器管理,可以一键安装LNMP与LAMP建站环境,并且能进行服务器实时监控、防火墙、一键为网站部署SSL证书、定时任务、服务器文件在线管理等操作。虽然宝塔面板已经慢慢的开始转型,但是其现有的免费功能基本能满足绝大多数人的建站需求。

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

解决方案

1、陌涛通过宝塔面板安装的建站环境是LNMP,使用的Nginx 1.16.1、MySQL 5.6.48、PHP-7.3.

1590572948-微信截图_20200527174901.png

2、通过网站管理,更换PHP版本更换为7.0以上。

3、优化PHP7.3设置。按下图操作先进入到PHP7.3管理页面。

首先先安装一个opcache缓冲器,用于加速PHP脚本,其他的就都按默认的来吧,往往安装这个那个影响性能。

修改max_execution_time时间为60.

性能调整。这里大家可以根据自己服务器配置进行设置,宝塔面板比较人性化,会根据你的服务器配置设置推荐方案。其实设置并发多少,大家可以根据自己服务器内存大小进行计算,一般一个php-fpm进程占用内存30M左右,以2048MB内存(2G内存)来计算,大概可以设置68个并发。陌涛使用的就是4核2G内存配置的服务器,安装宝塔面板后推荐的事50并发,但陌涛觉得自己更笨用不到那么高的并发,所以设置了2G的并发方案,并把max_spare_servers数字调整成了15.

陌涛按照上面操作后,发现服务器CPU不像之前一样经常性占用100%了,虽然php fpm有时候还会出现突发占用CPU 100%的情况,但基本很快就会恢复正常,对客户的浏览不会造成过多的影响。分析原因的话不是知道是不是兼容性问题,因为陌涛个人对这些东西没有过多的研究,只是恰巧碰到运气而已吧,说得不对的地方请大佬们指正。

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~