apache最大プロセス数設定

apache1.3.X系ではデフォルトではMaxClients=256が最大になっている。通常WebサーバがDBなどを利用している場合、256プロセスが起動する前にサーバ負荷が上がってしまい応答がなくなるのが通常であるが、主にスタティックページから構成させる場合、LoadAverageが1以下でもこの上限に達していまうことがある。(というかあった)

この場合、apacheを再コンパイルし、この上限を大きくする必要がある。apacheにmod_sslを組み込んでいる場合、mod_sslのconifgを以下のように実行する。

% cd mod_ssl-2.8.30-1.3.39

% env CFLAGS=”-DHARD_SERVER_LIMIT=512″ \
./configure \
–with-apache=../apache_1.3.39 \
–with-ssl=../openssl-0.9.7a \
–prefix=/home/apache \
–enable-rule=SHARED_CORE \
–with-layout=Apache \
–enable-module=so \
–enable-module=status \
–enable-module=info \
–enable-module=rewrite \
–enable-module=usertrack \
–enable-module=expires \
–enable-shared=max

moduleオプションなどは、各自目的に応じて設定します。

config実行後、

% cd ../apache_1.3.39
% make

でコンパイルし、

# make install

します。インストール後、下記コマンドで確認します。

% httpd -V
Server version: Apache/1.3.39 (Unix)
Server built:   Jan 24 2008 00:27:41
Server compiled with….
 -D HARD_SERVER_LIMIT=512

なお、make完了時インストール先にapacheが存在する場合、makeディレクトリで

% src/httpd -V

とやっても、インストール先プログラムが影響してしまうので注意が必要である。