ウイルスバスターでAjaxが劇的に遅くなっていた件

妙な低速通信と、不審なアクセスログ

表題の通り、ウイルスバスターの親切機能で、Webがビックリするほど遅くなっていたので、経緯と周辺情報をメモ。普通にWebページを見る分には、あまり気にならなかったんですけどね。たまたまAjax的な部分で、意外なほどの影響が発覚しました。

ウイルスバスターが原因だっただけで、ウイルスバスターは悪くないですよ。(一応言っておく)

会社だと速くて、家だとすごく遅いところを発見

Firebugで追いかけていたら、そこの通信に2000~3000msもかかる始末。会社からのアクセスだと200msぐらい。なんじゃこれ、と確認してみるも、該当する処理は、ごく単純にGETしているだけの所で、ボトルネックの理由もよく分からない。

別件、アクセスログの不審なIPを調べていた

別件、アクセスログを眺めていたら、同じようなIPから、秘匿されているはずの管理系URLに何度もアクセスされていたので不審に思ってwhoisしてみた。

OrgName:TREND MICRO INCORPORATED
OrgId:TREND-7
Address:10101 N. De Anza Blvd,
City:Cupertino
StateProv:CA
PostalCode:95014
Country:US   → (アメリカ合衆国)

普通にトレンドマイクロ。そういえば自分、ウイルスバスター使ってた。

ここでようやっと、不審なログの正体と、Ajaxが遅い理由がつながって分かった次第。

原因はWeb Threatsでした

ウイルスバスターには、Web Threatsという、Webからの脅威からユーザーを守ってくれる機能があります。

管理系ページを操作している最中、Web Threatsが安全性の確認で、アクセスできるはずもない管理系URLに訪れ、不審なログを残していっていたというオチ。そんなことしてるもんだから、肝心のAjax処理も安全性の確認待ちで低速になっていたようです。

案の定、Web Threatsの信頼済みリストに、該当ドメインを加えたら会社からのアクセスと同程度のパフォーマンスになりました。よかったよかった。

余談 : ウイルスバスターが反応しなかったパターン

var $iframe = $('<iframe name="hogehoge" />');
var $form   = $('<form target="hogehoge" action="http://example.com/"; method="post" />')

$form.submit(function()
{
    $iframe.load(function() {
        var html = $iframe.contents().find('body').html();
    });
});

これはWeb Threatsのチェックの対象にならなかったみたいです。信頼済みリストに加える前から、妥当な速度でレスポンスが返ってきていました。どうせやるなら徹底してくれればいいのに。