今天一个盆友找到我说最近网站总是时不时有502的报错,爱游简单的看了下PHP日志发现WARNING警告
如下:
[20-Sep-2019 16:49:20] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 0 idle, and 27 total children [20-Sep-2019 16:49:21] WARNING: [pool www] server reached pm.max_children setting (30), consider raising it [20-Sep-2019 17:10:48] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 8 children, there are 4 idle, and 17 total children
首先分析验证问题:
- 报警级别“WARNING”,也就是说业务受到的影响比较小,实际验证也是这样。
- 日志第二条还提到了并发数达到设定的30,需要提升。
- php-fpm的进程数比较少,建议增加 pm.start_servers, or pm.min/max_spare_servers
- 增加到多少呢?spawning 8,也就是说至少得8个进程;
怎么去解决此问题呢?如果你是用的BT宝塔面板,直接在PHP设置→性能调整里面把并发数调到50即可。
如果你是自己配置的服务器那么找到
php-fpm.conf
pm.max_children = 50 --允许创建的最大子进程数
pm.start_servers = 15 --起始进程数(服务启动后初始进程数量)
pm.min_spare_servers = 15 --最小空闲进程数(清理空闲进程后的保留数量)
pm.max_spare_servers = 35 --最大空闲进程数(当空闲进程达到此值时清理)
注意:上面的数值请根据的网站的访问量来修改。
以上就是PHP报错WARNING: [pool www] seems busy的解决方法。
版权申明:
请先
!