- ServerLimit
- MaxClients
- MinSpareServer
- MaxSpareServer
- StartServers
デフォルトでは200000。(/httpd-2.2.13/server/mpm/prefork/prefork.c:84)
MaxClientsは、駆動する子プロセス数の最大値を決める。
(preforkの場合、ServerLimitと同意になる)
ServerLimitより小さい数値である必要があり、デフォルトでは256。(/httpd-2.2.13/server/mpm/prefork/prefork.c:77)
MinSpareServerとMaxSpareServerは、アイドルプロセス数の最小値、最大値を決める。
アイドルプロセスとは、クライアントからの要求を受ける前にあらかじめforkしておく子プロセス。
あらかじめforkしておくことで、要求発生時に素早く処理ができる。
MinSpareServerのデフォルト値は5 (/httpd-2.2.13/server/mpm/prefork/mpm_default.h:46)
MaxSpareServerのデフォルト値は10 (/httpd-2.2.13/server/mpm/prefork/mpm_default.h:40)
StartServersはApache起動後すぐ起動する子プロセス数。
MinSpareServerと同値にするのが通常だが、異なる値も指定出来る。
ただし、どのような値を指定しても、MinSpareServerとMaxSpareServerの間に収まるように調整される。
StartServersのデフォルト値は5 (/httpd-2.2.13/server/mpm/prefork/mpm_default.h:32)
子プロセスの総数は、MaxClientsより多くはならないため、処理中のプロセス数が増大すると、アイドルプロセスがMinSpareServerより少なくなる場合がある。(httpd-2.2.13/server/mpm/prefork/prefork.c:796 perform_idle_server_maintenance)
アイドルプロセスが0、つまり処理中のプロセスがMaxClientsに達すると、以下のエラーが出力される。
"server reached MaxClients setting, consider raising the MaxClients setting" (/httpd-2.2.13/server/mpm/prefork/prefork.c:867)
各ディレクティブの詳細は、apacheのマニュアルを参照の程
※動作モードはmpm_preforkに限る
※source ver : Apache 2.2.13

0 コメント:
コメントを投稿