php-fpm は、次のプロセス管理メソッドをサポートしています。
-
dynamic
(動的モード): リクエストの負荷に応じて動的にプロセスを作成し、最小プロセス数はpm.start_servers
設定項目で決まり、最大プロセス数はpm.max_children
設定項目で決まります。リクエスト量が大きすぎる場合、リクエストを処理するためにプロセスの数が動的に増加します。リクエスト量が減少すると、アイドル状態のプロセスの一部が閉じられ、最終的にはアイドル状態のプロセスの数が維持されますpm.min_spare_servers
。 -
static
(静的モード): リクエストを処理するために、指定された数の子プロセスを事前に作成します。pm.max_children
サービスが再起動されるか、子プロセス自体がエラーで終了するまで存在する子プロセスの数を決定します。 -
ondemand
(オンデマンド モード): プロセスは要求された場合にのみ作成されます。pm.process_idle_timeout
設定項目によりアイドルプロセスの生存時間が決まり、この時間を超えると終了します。
php-fpm の基本原理は、子プロセスをフォークしてリクエストを処理し、nginx や Apache などの Web サーバーと通信してリクエストの処理と応答を完了することです。さまざまなプロセス管理方法は、php-fpm のプロセスの作成とメンテナンスの戦略に影響を与え、それによってシステムのパフォーマンスとリソースの消費に影響を与えます。