代理監視を使用した CDN エッジ サーバーのプリキャッシュ

コンテンツ配信ネットワーク (CDN) は、エッジ サーバーと呼ばれる分散ノードの集合で、同じ配信元サーバーに接続され、ユーザーの場所にローカルに配置されます。 CDN を使用している場合、Web サイトのコンテンツは、最寄りのエッジ サーバーからユーザーの場所に配信されます。 CDN を使用しない場合、ユーザーが何かを要求するたびに、配信元サーバーに負荷をかけられます。 ウェブサイトに多くの訪問者がいる場合、サーバーが動作しなくなり、応答が遅くなり、さらに悪いことにユーザーに反応しなくなります。

 

CDN の動作

CDN は、ルートが配信元サーバー、エッジ サーバーがツリー ノードであるツリーと考えてください。 配信元サーバーで新しいコンテンツを使用できるようになると、すべてのエッジ サーバーに配信およびキャッシュされます。 ユーザーが DNS 要求を行うと、CDN によって中断され、コンテンツは最も近いエッジ サーバーから提供されます。 CDN キャッシュ戦略を実装するには、次の 2 つの基本的な方法があります。

プッシュ ネットワーク: 新しいコンテンツが Web サイトにアップロードされると、配信元サーバーは CDN にこの新しいコンテンツをプッシュします。 次に、CDN はこの新しいコンテンツを取り込み、そこにキャッシュするためにすべてのエッジ サーバーに配布します。 これは、リソースの要求がネットワーク上で初めて行われたときにヒット・アンド・ミスを最小限に抑える、キャッシュ前の戦略です。 キャッシュされたコンテンツは、それ以降の要求に対してエッジ サーバーからユーザーが使用できます。

プル ネットワーク: この戦略では、事前キャッシュはありません。 リソースが最初に要求されると、CDN は配信元サーバーに移動し、コンテンツをフェッチしてユーザーに提供します。 このコンテンツは、すべてのエッジ サーバーに配布され、エッジ サーバー上のキャッシュに配置されます。 この戦略では、ヒット・アンド・ミスが発生し、最初のロード時間が増加します。

どちらの方法を使用するかは、使用しているユース ケースと CDN プロバイダーによって異なります。 コンテンツの種類もここで重要な役割を果たしますが、CDNのパワーとメリットを十分に活用する際には、プッシュとプルの両方の戦略が混在したアプローチが最適です。

 

静的および動的コンテンツ

サイト上のすべてのコンテンツがキャッシュできるわけではないので、総合的な監視を使用したより良い事前キャッシュ戦略に入る前に、コンテンツの種類について少しお話しましょう。

静的コンテンツは、基本的には、画像、ビデオ、PDF、HTML ファイル、CSS ファイル、JavaScript ファイルなど、サーバーに保存されているファイルであり、時間の経過と同じ変化を起さないため、静的コピーはキャッシュされ、最も近いエッジ サーバーから提供されます。 ブラウザーは、有効期限が切れるまで静的コンテンツをキャッシュし、コンピューターからローカルでサービスを提供することもできます。

ただし、動的コンテンツは、場所、デバイス、時間、個人設定などに基づいてユーザーの要求に応じてサーバー側で生成されます。 一時動的コンテンツはキャッシュできませんでしたが、テクノロジの進化に従って動的コンテンツもキャッシュに入れ、エッジ サーバーから提供できます。

ビジネスの観点から、ここで注意すべき重要な点があります。 データを事前にキャッシュしないと、初めて使用するユーザーはヒット・アンド・ミスに直面する可能性が高く、待ち時間が長くなり、応答が遅くなります。 1 秒ごとに、ウェブサイトの跳ね返り率が増加します。 ページの読み込み時間が 2 秒の場合は 9.6% がバウンスし、ユーザーの 32.3% が 7 秒の場合はバウンスします。 このような数字は、収益の大幅な減少につながる可能性があります。

多くの場合、コンテンツタイプに関係なく、CDN には、キャッシュされたコンテンツを消去し、配信元サーバーから新しいコンテンツを取り込むための有効期限が設定されています。 この有効期限オプションは、次のようになります。

  • 原点制御
  • TTL (生きる時間) 仕様
  • 期限切れにならない
  • キャッシュしない

 

特定の場所のユーザーが特定のコンテンツのリクエストを行っていない場合、コンテンツの有効期限が切れている場合、キャッシュの有効期限戦略によっては、ヒット アンド ミスのシナリオに直面して、Web サイトのバウンス率が高くなります。 CDN の実装を導入すると、次の 3 つの主な利点が得られます。

  1. パフォーマンス: 待ち時間とサーバー負荷を減らすことで、Web サイトのパフォーマンスを向上させます。
  2. 可用性。 サーバーの障害や低帯域幅に対抗するために、データを利用しやすくする。
  3. セキュリティ: CDN を利用して、データに対する DDoS やその他のネットワーク攻撃をかわすことで、サーバー全体の容量を増やします。

 

したがって、効率的な CDN 戦略を使用してエッジ サーバー上のデータを事前にキャッシュすると、あらゆる利点が得られます。 しかし、問題は、インタラクティブなウェブサイト、動的コンテンツ、複雑なユーザーパスでは、データをどのように事前にキャッシュするかということです。 その答えは分散型の代理監視です。

 

プリフェッチについて プリキャッシュとプリフェッチの説明

キャッシュ済みアセットを監視する最善の方法を調査する際に、「プリキャッシュ」(ハイフンなし)とプリフェッチという用語に遭遇している可能性があります。 これらの用語の違い(存在する場合)と、合成監視ソリューションの選択にどのような影響を与えるかという疑問が生じます。

簡単に言えば、これらの用語の間に意味のある違いはありません。 さらに、標準化団体は、これらの用語を個別に定義していません。

ただし、プリフェッチは、すぐに必要とされるリソース、1 回だけアクセスされ、使用後に破棄/削除できるリソースに対してプリフェッチを使用する場合は、一部のエンド ユーザーがプリフェッチという用語を使用する方が時間的に制限される点に注意してください。

これに対し、同じエンド ユーザーの多くは、プレ キャッシュという用語 (ハイフンなしで “プリキャッシング” と綴られる場合があります) が、複数回アクセスされ、長期間保存される資産を記述するときに使用されると考えています。

ソフトウェアやウェブベースの企業の中には、独自のプラットフォームに基づいて、これらの用語を独自に定義する企業もあります。 たとえば、Google では、Web アプリケーション Workbox でアセットの読み込みを制御する方法を示すために、”プリキャッシング” (ハイフンなし) という用語を使用します。

最終的に、取り除く最も重要なことは、用語間に意味のある違いはなく、通常は Web 開発コミュニティで同じ意味で使用されるということです。 ただし、特定の種類の Web アプリケーションを監視する場合は、これらの用語がその特定のフレームワーク内でどのように定義または使用されているかを理解する必要があります。

 

合成モニタリング

合成監視は、ツールやスクリプトを使用してインタラクティブな環境でユーザーをシミュレートすることで、Web サイトやアプリケーションを監視するメカニズムです。 これらのツールは、可能なガイドパスの走査とビジネス・トランザクション・アクティビティーを 24 時間実行します。 サイトやアプリケーションに対して合成監視を実装することで、待機時間、アクセシビリティ、トランザクションの破損など、パフォーマンスに関する重要な情報を取得できます。 サードパーティの SaaS オプションは多数用意されていますが、さまざまな監視ソリューションを使用して選択する必要があります。 通常、これらのソリューションにはクリック アンド ゴー のセットアップが用意されており、すぐに準備を整えます。

たとえば、Dotcom-Monitor の Web アプリケーション監視ソリューションには 、EveryStep Web Recorderというポイントとクリックスクリプトツールが含まれています。 Web アプリケーションを監視するために使用できるスクリプトを作成するユーザーの 1 つのような Web サイトまたはアプリケーションを移動するだけです。

 

CDN エッジの事前キャッシュは、合成監視で機能します。

CDN を使用している場合、複数の場所に対する合成監視のセットアップは、分散システムを利用して、すべてのエッジ サーバーで代理監視を実行し、ローカライズされたユーザーをシミュレートします。 したがって、ユーザーが行う前にコンテンツを要求し、コンテンツを事前にキャッシュし、ほぼすべてのユーザーの最初のヒット アンド ミスと読み込み時間を最小限に抑えます。 合成モニタは、24 時間間隔でテストを実行するように設定されているため、ユーザーがアップロードする前に新しいコンテンツを検出する可能性を最大限に高めます。 したがって、場所、時間、およびデバイスに基づいてコンテンツを事前にキャッシュし、CDN エッジ サーバーがコンテンツをより迅速かつ効率的に提供できるようにします。

 

CDN エッジ サーバーの事前キャッシュに対する利点

  • 複数の場所にある異なるエンドユーザー間で Web サイトの稼働時間を監視する。
  • 最初の読み込み時間を短縮するためにコンテンツを事前にキャッシュします。
  • 頻繁にヒット アンド ミスに対処するために、期限切れの CDN キャッシュを削除して交換します。
  • 複雑なビジネス トランザクションとプロセス フローを監視する。
  • サーバーとアプリケーションの障害を検出し、フェールセーフを実装する。
  • エンドユーザーに影響を与える前に問題を見つけて修正します。
  • 改善戦略のベースラインとベンチマーク。
  • エンドユーザーの観点から UX を分析します。

 

CDN を使用していても、合成監視を実装していない場合は、アプリケーションの代理監視を実施して、コンテンツ配信メカニズムを最大限に活用し、無意識のうちに失われた収益を獲得できます。

30日間無料で完全なドットコムモニタープラットフォームを試してみてください

 

Latest Web Performance Articles​

Start Dotcom-Monitor for free today​

No Credit Card Required