php-fpmエラー:WARNING:[pool www]server reached pm.max_children setting(5)、consider raising it解決レコード

1313 ワード

WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
まず、nginxのエラー・ログ・プロンプトを確認します.
2018/05/29 23:17:57 [error] 13856#13856: *150 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 182.xx.xx.xx, server: pcds.yxxxxxx.com,
その後nginxタイムアウト時間を変更しても無駄である.
php-fpmログを表示します
WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
どうやらmax_らしいchildrenの設定が小さすぎて、ネットで調べました
pm.max_children = 30   //         

例:各php-fpmサブプロセスは20 Mのメモリを占有し、サーバのメモリは1 Gであり、システム内の他のアプリケーションが占有するメモリを除去し、300 Mであれば、残りの700 M、700/20=35、最大35を設定し、値を少し低く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   //         

例:すべてのサブプロセスの再起動時間は300 sに1回、同時量は50、max_childrenは30、max_に設定されています.requests=300*50/30=500、プロセスを1時間おきに再生させたい場合は3600*50/30=6000です.
修正が完了したら、PHP FPMサービスを再起動する必要があります.次のコマンドを使用してください.
service php-fpm restart    /etc/init.d/php5-fpm restart

説明:pm.max_requestsは再起動パラメータを設定していません.デフォルトでは最大サービス回数を制限しません.つまり、サブプロセスは永遠に再起動しません.経験によると、サブプロセスを長時間再起動しないと、システム負荷異常、処理時間が長くなるなどの現象が発生します.