PHP-FPM子进程过少解决办法

Posted minseo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP-FPM子进程过少解决办法相关的知识,希望对你有一定的参考价值。

/usr/local/php/var/log/php-fpm.log报一下错误

server reached pm.max_children setting (5), consider raising it

修改配置

vim /usr/local/php/etc/php-fpm.conf

pm.max_children = 30   //设置子进程最大数值
pm.start_servers = 10   //php-fpm启动起始进程数
pm.min_spare_servers = 10   //php-fpm的最小空闲进程数
pm.max_spare_servers = 24   //php-fpm的最大空闲进程数
pm.max_requests = 500   //所有子进程重启时间

重启php-fpm

PS :每个php-fpm子进程占用20M内存,服务器的内存是1G,除去系统中其他应用占用的内存,假如为300M,剩余700M,700/20 = 35,最多设置35,可以取值稍微低一些为30。

所有子进程重启时间为300s一次,并发量为50,max_children设置为30,max_requests = 300*50/30=500,如果想让进程每隔一小时重生一次,则是3600*50/30=6000。
如果pm.max_requests没有设置重启参数,默认为不限制最大服务次数,也就是子进程永远不重启,经验表明,长时间不重启子进程会导致系统负载异常,处理时间变长等现象。

参考:https://lirongyao.com/server-reached-pm-max_children-setting.html









以上是关于PHP-FPM子进程过少解决办法的主要内容,如果未能解决你的问题,请参考以下文章

nginx 502 Bad Gateway 错误解决办法

php-fpm死机解决办法,脚本后台自动重启

php-fpm子进程数控制

php-fpm进程管理

nginx 和php-fpm关系

php-fpm常用配置