この間、チラっと書いたけど、このブログを動かしているサーバが時々落ちる。いや、正確には落ちはしないんだけど、SWAP 領域を食いつぶして OOM Killer がプロセス殺しまくるが追っつかず、完全に固まった状態になってしまう・・・
しばらくしたら自然に復旧することもあるし、数時間そのまんまのこともあるし、発生する頻度もまちまち。
今、ログで調べてみたら、
3/43/133/143/193/233/243/254/34/5
こんな感じで発生している。
この状況になったらメールが飛んでくるんだけど、自社のテスト用サーバだから面倒臭いときはそのまま放置なんだよね(笑)
でも、4/3、4/5 と連続で「再起動しないといけないほどの状況」になったので真面目に対応することにした。
/var/log/messages を見ると、OOM Killer が殺してるプロセスがほとんど httpd か mt-search.cgi だし、access_log 見ると、固まる前には大量のロボット型検索エンジンからの mt-search.cgi へのアクセスが発生している。
どうも原因は mt-search.cgi への大量アクセスによる過負荷のようだ。
ほとんどが、Bing か NHN だ。
Bing と言えば MSN の検索サイト。まったく、Microsoft は何してくれてんねん!!
あと、NHN。お前は韓国の会社やろ?他国のサーバに迷惑かけてんじゃねえよ、実際。
つーことで、
User-Agent: *Disallow: /mt/mt-search.cgi
という内容の robots.txt を置いた。
まあ、robots.txt というのは紳士協定で、守らなきゃ守らないでもいいんだけど、いくらなんでも Microsoft も NHN も大手企業なんだから守るやろう(笑)
ということで、これでしばらく様子を見ることにしよう。
今のところ、時々 out of memory が発生してはいるけど、瞬間的なもので、継続的に発生してマシンが固まってしまうということは起きてない。
監視プログラムからのメールもないので、取り敢えず検索ロボットに mt-search.cgi へのアクセスを禁止したのは効いてるみたいだな。