システムの利用者から「Webアクセスが遅い」と言われたことがないだろうか。遅延は、物理層からアプリケーション層まで、様々なレイヤーで発生し得るため、単に遅いという証言だけでは原因を特定しにくい。そこでWiresharkを使って、Webアクセスがすべて遅いのか、一部のサイトだけが遅いのか、特定の時間帯だけ遅いのか、といった状況を確認しよう。
Webアクセスの応答時間を調べる
Webアクセスが遅くなる原因は、(1)パソコンの処理負荷が高くて表示に時間がかかる、(2)Webサーバーの処理負荷が高くて応答に時間がかかる、(3)ネットワークが混雑している、などである▼。このうち、(2)または(3)が原因のときは、「HTTP▼応答時間」が大きくなっているはずだ。HTTP応答時間とは、パソコンがWebページを開くとき、WebサーバーにHTTP要求パケットを送り出してから、その応答であるHTTP応答パケットがパソコンに届くまでの時間である。Wiresharkでは、このHTTP応答時間をHTTP応答パケットの詳細画面に表示してくれる▼。
遅いと申告があったパソコンにWiresharkをインストールして、パケットキャプチャーを実行した後、Webサーバーにアクセスする。しばらくしてキャプチャーを止めて、HTTP応答時間を確認する。
HTTP応答時間を見るため、HTTP応答のパケットに絞り込む。まずは「表示フィルタ」機能の窓に、HTTP応答パケットを示す「http.response」を入力する。次に絞り込まれたパケットの一つを選択して、パケットの詳細にある「Hypertext Transfer Protocol」をクリックする。詳細情報が表示されるので、その中にある「Time since request」の行に表示される時間がHTTP応答時間である。
クライアント側に原因がある場合がある。例えば、Webブラウザーの不具合。
HyperText Transfer Protocolの略。Webアクセスの通信プロトコル。
Wiresharkがパケットを読み取って生成する情報を「Generated Field」という。