关于优化PHP-FPM高占用导致小内存机器过载

一.查找当前的PHP版本

如果使用的是bt面板安装的PHP就输入以下命令,会有数字输出,这里 80 代表的是 PHP 8.0,73 是 PHP 7.3,依此类推。

ls /www/server/php/

二、编辑 php-fpm 的配置文件

假设你用的是 PHP 8.0,则执行:

vi /www/server/php/80/etc/php-fpm.d/www.conf

三、修改以下配置参数(带中文注释)

把这些参数找到并修改为以下值:

pm = dynamic                      ; 启用动态子进程管理模式(推荐)
pm.max_children = 3              ; 最多允许同时运行的 PHP 子进程数量(越多越吃内存)
pm.start_servers = 2             ; 启动时预加载的 PHP 子进程数量
pm.min_spare_servers = 1         ; 最少空闲 PHP 子进程数量
pm.max_spare_servers = 2         ; 最多空闲 PHP 子进程数量

注:

这些值的含义是为了让 php-fpm 按需扩容,并且不常驻太多吃内存的空进程。

四、重启 php-fpm 服务生效

重启你刚刚修改的 PHP 版本的服务。假设是 PHP 8.0:

/etc/init.d/php-fpm-80 restart

五、验证是否生效

执行命令查看当前 php-fpm 进程数:

ps aux | grep php-fpm | grep -v grep

应该只有 2~3 个 php-fpm: pool www 的进程,代表优化成功。

 

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享