Archive for

原因不明の高負荷

2011/2/8 火曜日 投稿時の月齢:5.7  月名:六日月  潮汐:中潮 

昨夜、急に自宅サーバが高負荷になった。ログを確認しても、特定のIPからのアクセスは認められず、ソフトの暴走も無く、ハード障害も無い。原因が特定できない。
 
とりあえず考えられる再発防止の対策を講じる事に。


まずは、apache2をpreforkからworkerに切り替えて効率を上げる。workerにするとmod_phpが使用できなくなるのでphpはcgiで動作させる。
aptitude install apache2-mpm-worker php5-cgi
a2enmod actions
/etc/apache2/apache2.conf 修正(下の方に以下を追加)
<IfModule mod_actions.c>
Action application/x-httpd-php /php-cgi/php5
</IfModule>
ScriptAlias /php-cgi/ /usr/lib/cgi-bin/
<Directory “/usr/lib/cgi-bin”>
AllowOverride None
Options ExecCGI -MultiViews +FollowSymLinks
Order allow,deny
Allow from all
</Directory>
apache2の再起動


次にmod-evasiveでDOS対策。
aptitude install libapache2-mod-evasive
a2enmod mod-evasive
/etc/apache2/apache2.conf 修正(下の方に以下を追加)
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 10
DOSSiteCount 100
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
DOSEmailNotify 管理者のメールアドレス
</IfModule>
apache2の再起動


最後はPHPアクセラレターの導入。
apt-get install php-apc
apache2再起動


これでしばらく様子を見よう。