ウイルスバスターでAjaxが劇的に遅くなっていた件
Posted: Updated:
妙な低速通信と、不審なアクセスログ
表題の通り、ウイルスバスターの親切機能で、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のチェックの対象にならなかったみたいです。信頼済みリストに加える前から、妥当な速度でレスポンスが返ってきていました。どうせやるなら徹底してくれればいいのに。