WEBサーバのチューニング(apache)!mod_proxyで負荷分散しメモリーを節約
アクセス数が多いWEBサーバでの、プロセス数増加が管理者を悩ませる原因の一つではないのでしょうか?
mod_php,mod_perlなど、モジュールの追加によるapacheの肥大化!
プロセスの起動のたびにメモリーを使いまくり!やがてはスワップを引き起こす原因になります。
max_conection数、keep-alive調整、Linuxカーネル(ディスク、メモリー、ネットワーク、ファイルなど)の調整
全ての調整を行っても、やはり肥大化したapacheは膨大なアクセス数の負荷には勝てません。
そこで、mod_php,mod_perlなどの不要なモジュールを省いた軽量apache(メモリーをあまり消費しない)を用意して
静的なコンテンツは軽量apacheで処理するように2つのapache構成を導入してみましょう。
軽量サーバを8080ポートで起動するように設定しています。
●パターン①:imagesフォルダのアクセスは全て軽量apacheへ
ProxyRequests Off
ProxyPass /images/ localhost:8080/
ProxyPassReverse / localhost:8080/
●パターン②:全てのjpg,gif,pngアクセスは軽量apacheへ
ProxyPassReverse /tools localhost:8080
RewriteEngine on
RewriteCond %{REQUEST_URI} !.*.(jpg|gif|png)$
RewriteRule ^/(.*) localhost:8080/$1 [P]
いかがでしょう?メモリーの消費量が低下し、軽快なWEBサーバへと変身しましたでしょうか?
apacheを使わずに、静的なコンテンツサーバとしてLighttpdなどの軽量サーバを検討しても
いいと思います。
mod_proxyを使わずに、apacheのworkerを使用すればメモリーの使用量を減らせると思いますが
動的なコンテンツに対