寶塔控制面板內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號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!