最近の(というほど最近では無いですが) Apache には 子プロセスの 扱いに prefork と worker の 2 種類があります。
設定ファイルにも prefork と worker の設定が入っています。
下は Debian (Apache 2.2.3) の設定ファイルです。
<IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 0 </IfModule> <IfModule mpm_worker_module> StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule>
mpm は Multi Processing Module の略です。
自分の apache がどちらで動いているか 調べるためには 次のように モジュールを確認します。
$ /usr/sbin/apache2 -l Compiled in modules: core.c mod_log_config.c mod_logio.c prefork.c http_core.c mod_so.c
prefork.c なら prefork 、worker なら worker.c です。
"-V" オプションで確認する方法もあります。
$ /usr/sbin/apache2 -V | grep MPM
Server MPM: Prefork
-D APACHE_MPM_DIR="server/mpm/prefork"