- 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」軍曹を参考にさせていただきました。
|