以前、システムの利用者から「Webアクセスが遅い」と言われた担当者が、Wiresharkを使ってHTTP応答時間が遅くなる時間帯を調べる方法を紹介した。今回は、別の原因でWebアクセスが遅くなるケースとその確認方法を紹介しよう。

Webサイトの表示までにかかる時間

 Webアクセスが遅いとユーザーが感じるのは、Webブラウザーでリンクをクリックしたり、ドメイン名を入力してEnterキーを押したりしてから、Webサイトが表示されるまでに時間がかかるからだ。大きく三つの処理時間がある。DNSによる名前解決にかかる時間と、Webサーバーとのやり取りにかかる時間、およびクライアントの処理時間だ(図1)。

図1●Webサイトが表示されるまでの大まかな流れ
図1●Webサイトが表示されるまでの大まかな流れ
Webサーバーにアクセスする前にDNSサーバーでFQDNをIPアドレスに変換する名前解決を実行する。Webサーバーからの応答が届くと、クライアントパソコンで描画などの処理が発生する。Webサイトが表示されるまでの待ち時間は、パケットの送受信にかかる時間だけでなく、DNSサーバーやWebサーバー、クライアントの処理時間も含まれる。
[画像のクリックで拡大表示]

 名前解決は、Webサイトのドメイン名からWebサーバーのIPアドレスを調べる処理である。設定ミスやネットワークトラブルなどで名前解決に失敗すると、タイムアウトするので時間がかかる。Webサーバーとのやり取りにかかる時間は、前回紹介したHTTP応答時間である。この二つの時間は、Wiresharkを使って確認できる。

 クライアントの処理時間は、Webサーバーからダウンロードしたデータを使って画面描画にかかる時間である。この時間が長くかかる場合は、他の処理も遅くなっているので気付きやすいだろう。

 そこで今回は、Wiresharkを使って名前解決にかかる時間をチェックする。

▼HTTP
HyperText Transfer Protocolの略。
▼DNS
Domain Name Systemの略。