fastcgi 構成には、max-procs、max-load-per-proc、PHP_FCGI_CHILDREN、PHP_FCGI_MAX_REQUESTS の 4 つのフィールドがあります。
fastcgi.server = ( ".php" =>
(( "socket" => "/tmp/php-fastcgi.socket",
"bin-path" => "/usr/local/bin/php",
"max-procs" => "2",
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "3",
"PHP_FCGI_MAX_REQUESTS" => "10000" )
))
)
- fastcgi.server にはエントリが 1 つしかないため、Fastcgi バックエンドは 1 つになります。
- PHP_FCGI_CHILDREN =3 および max-procs=2 であるため、「/usr/local/bin/php」プロセスの数は 2*(3+1)=7 になります。
- max-procs=2 なので、サーバーの状態は fastcgi.backend.0.0 と fastcgi.backend.0.1 の状態になります。
したがって、2 つのプロセスを持つ 1 つの fastcgi バックエンドがあります。これらのプロセスは負荷を受け入れます。
次のことがわかりません。
- PHP_FCGI_CHILDREN の重要性は何ですか?
- リクエストは PHP_FCGI_CHILDREN または proc によって処理されますか?
- 1 proc の最大負荷を決定するパラメータはどれですか? そして、そのデフォルト値は何ですか?
- proc の最大負荷は PHP_FCGI_MAX_REQUESTS と関係がありますか?
- PHP_FCGI_CHILDREN=0 の場合はどうなりますか? max-proc = ウォッチャーの数と max-proc*PHP_FCGI_CHILDREN= ワーカーの数であることが言及されました。どういう意味ですか?
- proc がオーバーロードされていると言われるのはいつですか?