php-fpmのエラー「WARNING:~max_children setting (10), consider raising it」

「WARNING: [pool www] server reached pm.max_children setting (10), consider raising it」について

php-fpmのログをみていると「警告: [pool www] サーバーが pm.max_children 設定 (10) に達しました。設定を上げることを検討してください」とエラーメッセージが表示されていました。

# grep "pm.max_children setting" /var/log/php8.3-fpm.log
[03-Dec-2025 15:48:16] WARNING: [pool www] server reached pm.max_children setting (10), consider raising it
[03-Dec-2025 15:49:59] WARNING: [pool www] server reached pm.max_children setting (10), consider raising it
[03-Dec-2025 15:51:05] WARNING: [pool www] server reached pm.max_children setting (10), consider raising it
[04-Dec-2025 09:07:42] WARNING: [pool www] server reached pm.max_children setting (10), consider raising it
[04-Dec-2025 09:07:55] WARNING: [pool www] server reached pm.max_children setting (10), consider raising it

このエラーメッセージは、PHP-FPM(FastCGI Process Manager)の子プロセス($children$)の数が、設定されている最大数($pm.max_children$)に到達した時に表示されます。

「pm.max_children」を設定を変更する

対処方法としては、PHP-FPMの設定ファイル(通常は /etc/php-fpm.d/www.conf や /etc/php/8.x/fpm/pool.d/www.conf など)の「午後最大子供数」等の設定を変更しすれば改善します。現在の設定を確認すると、「pm.max_children」の値は10となっており、この値が超えたのでエラーとなっていますのでこの設定を見直します。

$ grep pm.max_children /etc/php/8.3/fpm/pool.d/www.conf
pm.max_children = 10

# php-fpmの子プロセス関連の値を確認します
$ grep "pm" /etc/php/8.3/fpm/pool.d/www.conf | grep -v ";"
pm.max_children 10
pm.start_servers 3
pm.min_spare_servers 3
pm.max_spare_servers 5

pm.max_children を変更する際は、関連する他の設定値も一緒に見直す必要がありますので、以下のように設定値を変更しました。
このサーバーはメモリ2Gしかないので、最小限に近い値となっています

設定項目現在の値,変更後の値変更の理由
pm.max_children1020最大同時接続数。これを増やし、警告を解消します。
pm.start_servers35起動時に作成するプロセス数。トラフィックが多いなら少し増やすのが良いです。
pm.min_spare_servers35常に待機させるプロセスの最小数。
pm.max_spare_servers510常に待機させるプロセスの最大数。

1.上記の表のように、「pm.max_children」に関する設定を変更します

$ sudo vim /etc/php/8.3/fpm/pool.d/www.conf

pm.max_children = 20
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10

2.設定を変更したら、php-fpmを再起動します

$ sudo systemctl restart php8.3-fpm

\ 最新情報をチェック /