今天一個盆友找到我說最近網站總是時不時有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的解決方法。
版權申明:
請先
!