[PHP-FPM] WARNING: [pool www] server reached pm.max_children setting (30), consider raising it
WordPress (Nginx + PHP-FPM) なサイトで Admin ページで Bad Gateway を頻発させていました。
Nginx のエラーログ
tail -F /var/log/nginx/codenote.net/error.log [error] 3029#0: *12410 connect() to unix:/var/run/php-fpm/www.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 185.11.147.17, server: codenote.net, request: "POST /xmlrpc.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/www.sock:", host: "codenote.net"
PHP-FPM のエラーログ
tail -F /var/log/php-fpm/error.log WARNING: [pool www] server reached pm.max_children setting (30), consider raising it
エラーログに書いてあるように pm.max_children の設定値の上限に達しているので設定値を上げて解決させましょう。
# vim /etc/php-fpm.d/www.conf
# 30 で上限に達していたので適当に 50 に上げてみましょう
pm.max_children = 50
設定変更した後、PHP-FPM を reload して設定を反映させます。
service php-fpm reload
再度 tail -F /var/log/php-fpm/error.log でエラーログを監視して WARNING メッセージが表示されなくなったら解決できたと思います。
まだ WARNING メッセージが表示されていたら、更に pm.max_children を 60, 70 と上げていってメッセージが出力されなくなるまで調整しましょう。