PHP - php-fpm - 接続数


クラウディア 


1. 概要
2. 状況
3. 設定
4. 参考サイト

1. 概要

 どうも、同時接続数をチューニングしてやらにゃならんようです。

2. 状況

 「php-fpm」のログに。

[22-Jan-2026 07:09:18] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
[22-Jan-2026 07:25:09] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
[22-Jan-2026 08:52:41] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
[22-Jan-2026 08:54:19] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
 1時間に、2回、多いときは数回出ているようです。  「ChatGPT」軍曹に相談してみると。  「同時に処理できる PHP プロセス数(pm.max_children=5)が上限に達した」とのことで。 ・新しい PHP リクエストが 待たされる ・Apache 側では 503 / タイムアウト が発生し得る ・レスポンス遅延が顕在化する  ちゅうことで、とりあえず、同時接続数は増やした方がいいようです。

3. 設定

 「root」ユーザ権限で。

vi /usr/local/etc/php-fpm.d/www.conf

pm.max_children = 5
 この数を、少し増やして。

service php_fpm restart
 では、実際にどれくらいの数にすればいいのか・・・と。  「top」コマンドで見たものを抜き出すと。

  PID USERNAME    THR PRI NICE   SIZE    RES STATE    C   TIME    WCPU COMMAND
24781 www           1   7    0   220M   131M accept   7   0:29   6.77% php-fpm
23321 www           1   5    0   220M   134M accept   0   0:38   6.02% php-fpm
30293 root          1   0    0   214M    43M kqread   3   0:02   0.00% php-fpm
24777 www           1  59    0   254M   166M accept   8   0:27   0.00% php-fpm
 どうも、「php-fpm」には、220MB 程度は使用するようです。  まぁ多く見積もって、256MB かな。  システム全体のメモリ、「php-fpm」全体に割り当てていいメモリを考慮して、256MB で割れば、適切な値が割り出せるかと思います。

4. 参考サイト

 本ページは、「ChatGPT」軍曹を参考にさせていただきました。