> コンピュータメモ >    (サイト内検索

名前解決にかかる時間を調べる

Webサイトが表示されるまでには3つの処理時間があります。

  1. DNSによる名前解決にかかる時間
  2. Webサーバとのやりとりにかかる時間
  3. クライアントの処理時間

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

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

このページでは,Wiresharkを使って,名前解決にかかる時間をチェックしてみます。

DNS応答時間を確認する

DNSサーバに名前解決の問い合わせをしてから,IPアドレスの応答が届くまでの時間は,DNS応答パケットでわかります。表示フィルタに dns.resp.name と入力してみましょう。name をつけると,名前解決の結果であるNameフィールドを含むので,DNS応答パケットを指定したことになります。

実際に見てみると,パケットの詳細に「Time: xxxxxxx seconds」(xxxxxxxは数値)という表示があります。これは Wireshark が DNS の名前解決を要求するパケットを送信してから応答が届くまでの時間を計算した結果です。実際のDNS応答パケットのヘッダーに入っているわけではありません。

この数値を見て,名前解決にかかった時間を確認できます。表示フィルタでDNS応答時間に条件を付けてパケットを絞り込む時は,DNS応答時間を「dns.time」と指定します。dns.time という書式は,先ほどパケットの詳細で,DNS応答時間を選択した時にタスクバーに表示される「The time between the Query and the Response (dns.time)」でも確認できます。

例えば,DNS応答時間が1秒以上かかるパケットを探したい時は,表示フィルタに dns.time>=1 と入力すればOKです。


リンクはご自由にどうぞ。

  【コンピュータメモ】

Last modified: 2017-03-17 11:53:53