3

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 バックエンドがあります。これらのプロセスは負荷を受け入れます。

次のことがわかりません。

  1. PHP_FCGI_CHILDREN の重要性は何ですか?
  2. リクエストは PHP_FCGI_CHILDREN または proc によって処理されますか?
  3. 1 proc の最大負荷を決定するパラメータはどれですか? そして、そのデフォルト値は何ですか?
  4. proc の最大負荷は PHP_FCGI_MAX_REQUESTS と関係がありますか?
  5. PHP_FCGI_CHILDREN=0 の場合はどうなりますか? max-proc = ウォッチャーの数と max-proc*PHP_FCGI_CHILDREN= ワーカーの数であることが言及されました。どういう意味ですか?
  6. proc がオーバーロードされていると言われるのはいつですか?
4

1 に答える 1