を使用して PID を出力する 1 行の PHP スクリプトがありgetmypid()
ます。スクリプトが FPM 経由で呼び出されるたびに PID が変更されますが、pid は同じであると予想していました。FPM の要点は、毎回新しいプロセスが生成されるわけではなく、それによって物事が高速化されることだと思いましたか?
1 に答える
これには、おそらく、www.conf ファイル (または OS に応じて任意の conf ファイル) で php fpm 構成を少し理解する必要があります。したがって、構成に応じて、FPM は通常、要求に応じてより多くの子をフォークするため、pid 番号が異なります。
プロセス マネージャーが子プロセスの数を制御する方法を選択します。
可能な値:
static - 固定数 (pm.max_children) の子プロセスdynamic - 子プロセスの数は、次のディレクティブに基づいて動的に設定されます。このプロセス管理では、常に少なくとも 1 つの子が存在します。
pm.max_children - 同時に生存できる子の最大数。
pm.start_servers - 起動時に作成される子の数。pm.min_spare_servers - 「アイドル」状態 (処理待ち) の子の最小数。「アイドル」プロセスの数がこの数よりも少ない場合、いくつかの子プロセスが作成されます。
pm.max_spare_servers - 「アイドル」状態 (処理待ち) の子の最大数。「アイドル」プロセスの数がこの数より多い場合、一部の子プロセスが強制終了されます。オンデマンド- 起動時に子は作成されません。新しいリクエストが接続されると、子はフォークされます。
次のパラメータが使用されます。
pm.max_children - 同時に生存できる子の最大数。
pm.process_idle_timeout - アイドル プロセスが強制終了されるまでの秒数。注: この値は必須です。