Apache のパフォーマンスチューニング設定
MMapFile でキャッシュの設定
MMapFile でレギュラーファイルをキャッシュする。ディレクトリは指定できない。
モジュールの読み込み設定
LoadModule file_cache_module modules/mod_file_cache.so
キャッシュに設定したファイルを変更した場合は必ず Apache を再起動すること。
設定ファイルの作成 (ディレクトリを登録したい場合)
出力結果をチェックしてキャッシュするファイルのリストが正しいか確認する。
find /var/www/html/img/ -type f -print | sed -e 's/.*/MMapFile &/'
上記の結果をもとに設定ファイルの作成する。
find /var/www/html/img/ -type f -print | sed -e 's/.*/MMapFile &/' > ~/work/conf/mmap.conf
/etc/apache2/conf.d/
以下に配置して Apache に読み込ませる。
KeepAlive の設定
KeepAlive を有効にすることで無駄なリソースを削減する。リソースを再利用することで,コネクションのオープンとクローズの回数を減らすことができる。
/etc/apache2/apache2.conf
リクエストの数とタイムアウトの設定を記述する。
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
プロセスとスレッド生成のチューニング
最大値がサーバのスペックを超えないようにする。
プロセス数の設定
StartServers が多いとサービスダウン時間が大きくなるので注意。 MaxClients がサーバスペックを超えないように・・・。
<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>