最近のトラックバック

無料ブログはココログ

« 【Chillout / Single】 VA (Cafe del mar Aria Vol.1) / Secret Tear | トップページ | 【Pop / Single】 No Angels / Still In Love With You »

2004年7月21日 (水)

[ Win2000 ] Google等の一部のサーバへ接続中にブラウザのレスポンスが極端に低下する現象について

先日,Donutの調子が悪くなった!なんてことを書いたわけですが,
それの原因が分かったので,覚え書き程度に報告します.

正直,どうやったらこの現象が再現できるのかは分かりませんが,
先日MS-Office2003をインストールしたあたりからおかしくなっているので,多分それなんでしょうね.

現象を説明する前に,うちのネットワークの構成からちょっと.
うちは,ルータ兼用サーバ上でsquidを動かしていて,
LAN側からhttpアクセスをするときは基本的にproxyを通すように設定しています.
こうすると変な広告とか弾けて,アクセスが軽くなったりして,結構良いです.

で,先日からGoogleで検索すると,
ページが開いてから平均5秒くらいフリーズするようになったんです.
フリーズといっても,別にCPU使用率が100%になるとかではなくて,
何かタイムアウトをずっと待ち続けてるって感じなんです.

IEの方は,proxy差していない設定だったせいで,再現性があるのはDonutだけだったので,
原因があるのはDonutだと思っていたんですけど,
パケット解析してみたりして,やっと原因が分かりました…

どうもIEが原因だったみたいです.
(細かく言えば,httpのアクセスを制御する部分なんでしょうか?
あんまり詳しくないんで,はっきり言えないんですが…)

いままでhttpでwebページを見るときは,GETリクエストをhttpサーバに発行して,
そこから返ってくるレスポンスを元にブラウザがページを表示して終わりなんですが,
Office2003にすると,その後定期的にhttpサーバにOPTIONSメソッドを発行するようになるようです.
結局これが原因だったみたいです.

httpサーバが,このOPTIONSメソッドを理解してくれれば良いんですが,
どうもGoogleのサーバは理解してくれないようで,エラーを返してくるようです.
これを元にして,proxyがブラウザにエラーを出すようなんですが,
このエラーもブラウザがうまく理解してくれないようで,
何度かエラーを受信しないと待ち状態から解放されないようです.
つまり,ここでブラウザがフリーズするってことになるわけです.

で,このままだと仕方ないので,
今回はproxyでOPTIONSメソッドを片っ端からたたき落とす設定にしました.
具体的には,アクセスコントロールで

"acl OPTIONS method OPTIONS"

でOPTIONSメソッドを定義して,

"http_access deny OPTIONS"

で丸々たたき落としてます.

今のところ特に問題はないのでそのままなんですが,
OPTIONSをたたき落とすと何かまずいこととかあるんでしょうか?

« 【Chillout / Single】 VA (Cafe del mar Aria Vol.1) / Secret Tear | トップページ | 【Pop / Single】 No Angels / Still In Love With You »

技術情報」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« 【Chillout / Single】 VA (Cafe del mar Aria Vol.1) / Secret Tear | トップページ | 【Pop / Single】 No Angels / Still In Love With You »