M.C.P.C.

―むり・くり―プラスコミュニケーション(更新終了)


| トップページ |

2007年2月24日 16:16

MT4i ver.2などの重いCGIを時間制限で殺す設定

このエントリーをはてなブックマークに追加 mixiチェック

百度(baidu)のクローラの凶悪さが公式に露呈して、改善されるっていうことなんで、もう用済みかと思ったけれども、同じようなクローラが来たときのためのメモ。

MT4i.cgi で公開するケータイ用のページですが、CGI によって新たなページのツリーが構成されてしまい、検索エンジンのクローラーが律儀にそれをたどってインデキシングをしようとしますから、そのたびに MT4i.cgi が起動しちゃうのですけれども、百度(baidu)は短時間に集中してアクセスしようとしますので、プチ DoS 攻撃になっちまっていたわけです。

つうわけで、短時間に集中して起動するので、メモリ不足になってスラッシングを起こさないようにしなきゃいけないので、httpd.conf で、MT4i.cgi があるディレクトリ向けにこんなディレクティブを入れましょう。

<Directory "/var/www/html/mt4i">
  RLimitCPU 10
</Directory>

これで、該当ディレクトリにある 10 秒間で終了しなかった CGI は殺されますので、クローラが多い日も安心です。

ちなみに、プロセスが殺されたときに core を吐くので注意。しゃれで設定値を 1 にしたら見る見るディレクトリ内がコアダンプの海になってしまいました。

投稿 大野 義貴 [Web] | |

トラックバック(1)

トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/1989

スラッシュドット ジャパン | 生きたバクテリアを記録メディアに うーん。突然変異しない遺伝子って、ホントに存在すんですか?変異しないじゃなくて、変異に記録が耐えられるということか。なんか疑問だなぁ・・・ (tags: news) REJAX - Easiest Regular Expression Tester. Ever. 各種言語対応のオンライン正規表現チェ...... 続きを読む

コメントする