うー、さっそくサーバトラブル。Apache がリソース不足で子プロセスを起動できないとエラーログを吐いてる。
とりあえず “/etc/httpd/httpd.conf” で MaxClients と MaxRequestsPerChild を変更して様子をみることにする。
でも、たぶんそういうことじゃないんだよな。うちはそんなにアクセス数があるわけじゃないからそれで子プロセスがなくなったということは考えにくい(スパムが集中したら別だけど)。CGI とかの子プロセスがゾンビー状態になったってことだろうか。
ところで Mac OS X 10.3 のデフォルト値で嫌なことに気がついてしまった。ulimit -u が 100 なのに、httpd.conf で MaxClients のデフォルトは 150。つまり MaxClients になる前に子プロセスが足りなくなることは必然… orz
追記 4/28:また同じ現象が発生しました。原因はスパマーが短時間に集中して mt-comment.cgi をたたき、それが ulimit -u の数を越えて子プロセスを生成したためでした。MaxClients をさらに減らし、今回スパムを送ってきたドメインを httpd.conf で拒否するように設定しました。
それにしてもここまでくるとスパムじゃなく DOS攻撃ですね。ほんとめっちゃ頭くる :-{
Tags: My Sites