宝塔控制面板内PHP报WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers)错误的解决办法
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
最近感觉网站反映有些慢,现在也不知道哪里问题,今天打开PHP看看日志,发现了好多的错误,错误如下
[20-Aug-2021 12:44:49] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 8 children, there are 0 idle, and 28 total children [20-Aug-2021 12:44:50] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 16 children, there are 2 idle, and 33 total children [20-Aug-2021 12:44:51] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 1 idle, and 36 total children
里面有一段写着 spawning 8 16 32 等等之类的,这就是错误方向;
首先分析验证问题:
- 报警级别“WARNING”,也就是说业务受到的影响比较小,实际验证也是这样。
- 日志第二条还提到了并发数达到设定的16 32之类的,需要提升。
- php-fpm的进程数比较少,建议增加 pm.start_servers, or pm.min/max_spare_servers
- 增加到多少呢?spawning 8,也就是说至少得8个进程;
怎么去解决此问题呢?如果你是用的BT宝塔面板,直接在PHP设置→性能调整里面把并发数调到一个大的数字即可,比如100并发;如下图
如无宝塔,自己配置的服务器那么找到php-fpm.conf
这个文件,把以下数值修改到合适的数值即可:
pm.max_children = 50 --允许创建的最大子进程数 pm.start_servers = 15 --起始进程数(服务启动后初始进程数量) pm.min_spare_servers = 15 --最小空闲进程数(清理空闲进程后的保留数量) pm.max_spare_servers = 35 --最大空闲进程数(当空闲进程达到此值时清理)
注意:上面的数值请根据的网站的访问量来修改。
延伸阅读:自己搭建服务器解决方法
第一步:执行命令:
ps -ef | grep php
可以得到当前的php-fpm进程数以及php-fpm.conf配置文件位置。
这里肯定是只有20个进程数
第二步:修改 php-fpm.conf 文件
由于我用的是 pm = dynamic,再加上php-fpm.log有一个提示:spawning 32,其它的都是spawning 8,因此我个人设置如下:
pm.start_servers = 20; pm.min_spare_servers = 20; pm.max_spare_servers = 42; pm = dynamic 如何控制子进程,选项有static和dynamic
pm.max_children:静态方式下开启的php-fpm进程数量
pm.max_requests:php-fpm子进程能处理的最大请求数
pm.start_servers:动态方式下的起始php-fpm进程数量
pm.min_spare_servers:动态方式下的最小php-fpm进程数
pm.max_spare_servers:动态方式下的最大php-fpm进程数量
区别:
如果pm设置为 static,那么,其实只有pm.max_children这个参数生效。系统会开启设置数量的php-fpm进程。
如果pm设置为 dynamic,那么pm.max_children参数失效,后面3个参数生效。
第三步:重启php-fpm验证结果与持续观察
1、杀掉php-fpm所有的进程
pkill -9 php-fpm
2、重启php-fpm
cd /usr/local/php ./sbin/php-fpm
3、经过我后续观察php-fpm日志,未发现类似日志出现。
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!