Dotcom-Monitor の新しい DNS キャッシュ機能を使用すると、DNS キャッシュがページの読み込み速度にどのような影響を与えるかを示す興味深いテストを実行できます。
多くの組織がさまざまな目標を念頭に置いてオンライン サービスを監視していることを認識し、一部のユーザーが監視に DNS 応答時間を含めたい場合や、モニタから DNS 応答を削除できるようにしたいと考えているというフィードバックに耳を傾けました。
監視ニーズに関する DNS 応答時間の処理方法はユーザー次第ですが、この機会に、新しいツールを使用して DNS 応答時間が Web サイトの負荷に与える影響の違いを示したいと考えています。
3 つの異なる DNS キャッシュ設定を使用して、米国中西部の 1 か所から YouTube を監視するテストを実行しました。 YouTube のフロント ページに HTTP の全ページの基本的な読み込み結果が表示された結果、驚くべき結果とは言えないものの、興味深いものがいくつか得られました。
結果は、監視する場所、時刻、DNS サーバーの負荷、Web サイト サーバーの負荷など、さまざまな変数によって異なります。
合成監視は、DNSがあなたのウェブサイトに与える影響を明らかにします
ウェブサイトで継続的な代理モニタリングを実行すると、DNSがウェブサイトに与える影響を理解するためのより良いベースラインを提供できます。 新しい DNS 機能を使用すると、監視エージェントによる DNS 参照の処理方法を変更できます。 この DNS 仕様は、HTTPSS パフォーマンスを監視しているか VOIP サーバーを監視しているかにかかわらず、すべての監視ソリューションに適用できます。
エージェントは、DNS ルックアップに、キャッシュされていない、キャッシュされた、ttl キャッシュ、指定された DNS サーバーへの直接要求など、複数のソースを使用できます。 キャッシュ解除とは、エージェントが新しい各タスクの前にキャッシュをクリアし、キャッシュは DNS クエリを送信する前にエージェントのローカル キャッシュでレコードを確認することを意味します。 エージェントはレコードが自然にタイムアウトするまで (レコード自体によって指定された存続時間に基づいて) キャッシュされたレコードを保持するため、実際のユーザー エクスペリエンスをレプリケートする場合は、ttl cached が時間の経過と同時に使用する最良のオプションです。 特定の DNS サーバーを使用すると、DNS サーバー名または IP アドレスを入力し、そのサーバーからの要求の具体的な実行方法を監視できます。
DNS キャッシュのさまざまなオプションを比較する 3 つのテストを同時に実行しました: キャッシュされていない、ttl キャッシュ済み、および Google DNS サーバーをプライマリ DNS サーバーとして使用します。
DNS キャッシュが無効
最初に実行したテストは DNS キャッシュを無効にした場合で、監視サーバーは新しいタスクを実行するたびに DNS キャッシュをクリアしました。
上の図に示すように、ページ上のすべての要素の DNS 解決には、ページの読み込み時間の約 15% がかかった。 公平に言えば、多くの開発者やウェブオプスの第一人者は、今日使用されている技術は、ページの読み込みパフォーマンスを最適化し、ページ上のDNSルックアップの影響を軽減する機能を提供するため、これらの妥当性をスタンドアロンのメトリックとして批判するかもしれません。 並列接続の使用を最大化する、非同期スクリプトを使用する、圧縮を有効にする、ページ 読み込みの最適化 の多くを有効にするなど、ページ読み込みの最適化を支援するさまざまな方法があります。
TTL を使用して有効にする DNS キャッシュ
さて、DNSキャッシュが有効になっている様子を見てみましょう。
権限のあるネームサーバーによって設定された TTL を使用して DNS キャッシュが有効になっていると、DNS 要求がページ読み込み時間の 1% 未満になったことがわかります。 これは大きな違いのように見えますが、これがページの読み込みに与えた影響を確認するために、各タスクを実行したときに監視ツールによって生成されたウォーターフォールチャートを見てみたいと思います。
2 つのグラフを見ると、DNS キャッシュは読み込み時間全体で 3 秒以上の差が明らかになっており、読み込み時間の DNS 部分を表すオレンジ色のバーに従うと、各要素の読み込み時間が短縮されたことがわかります。
また、ウォーターフォールチャートを見ると、ほとんどの要素が並列で読み込まれ、他の個々の要素を保持しないようにページがうまく最適化されていることがわかります。 全体的に、彼らは、DNSの読み込み時間が自分のページに与える影響を制限する良い仕事をしました。 そのため、ウェブサイトが最適なページ読み込み速度に最適化されていると思うかどうかにかかわらず、サイトの速度が低下している領域と改善のためにどの領域に焦点を当てることができるかを簡単に知ることができます。
カスタム DNS サーバー
DNS キャッシュ機能を使用して、プライマリ DNS サーバーとして 8.8.8.8 の Google DNS サーバーを指定した場合に何が起こるかを見てみましょう。 Googleは独自のサイトYoutubeがすでにキャッシュされているのだろうか!
Google DNS サーバーに直接アクセスすると、読み込み時間の 22% を要していましたが、コンテンツの実際の読み込み時間が大幅に短縮され、合計時間の割合も膨らみます。 ms の実際の時間は、デフォルトの DNS サーバーを介して、Google と 920 ミリ秒を通じて 185 ミリ秒です。
これは、ユーザーがキャッシュされたコンテンツに近づくほど、ページの読み込み速度に大きな違いがあることを明確に示しています。 DNS レコードがキャッシュされていても、コンテンツと DNS レコードは最終的にタイムアウトすることがわかっているので、このテストを次のレベルに進めるお勧めします。
このような個々のテストを実行する代わりに、サイトに何か問題が発生した場合ではなく、アラートシステムを通じてすぐにフィードバックを受け取り、問題を解決するための措置を講じるように、継続的な監視を設定できます。 少なくとも、DNS からサードパーティコンテンツ、コンテンツ配信ネットワーク (CDN) 上のコンテンツなど、Web サイトの読み込み速度のベースラインが継続します。 次に、これらの読み込み時間のいずれかが大幅に変化した場合、ドリルダウンして原因を調べるレポートが表示されます。
これらのツールを使用すると、特定の地域で問題が発生した場合にも通知されます。 このような場合、DNS ホストに断続的な問題が発生している場合があり、問題が解決しない場合は、地理的に異なった場所にサーバーが多い、より堅牢なプロバイダーに切り替える必要があります。
ドットコムモニターウェブパフォーマンスツール – 自分で試してみてください
このテストは、Web パフォーマンス ツールのドットコム モニター スイートの 1 つの特定の機能を使用して実行しました。 これらのツールの無料トライアルを利用できるため、ウェブサイトの訪問者が気付く前に、サイトの速度低下やその他の問題をキャッチするために、独自のWebサイトをテストし、継続的な監視を設定することができます。