すべてのプロダクト
Search
ドキュメントセンター

CDN:CDN のキャッシュヒット率を向上させる

最終更新日:Nov 09, 2025

Content Delivery Network (CDN) のキャッシュヒット率が低いと、オリジンサーバーのワークロードが増加し、静的リソースのアクセス速度が低下します。キャッシュヒット率が低い原因に基づいて最適化ポリシーを選択し、キャッシュヒット率を向上させることができます。

背景情報

CDN は、Points of Presence (POP) に静的リソースをキャッシュすることで、リソースへのアクセスを高速化します。クライアントが POP にキャッシュされているリソースをリクエストすると、リクエストはキャッシュにヒットします。リソースはキャッシュから直接取得され、クライアントに返されます。これにより、リクエストがオリジンサーバーにリダイレクトされるのを防ぎ、応答速度を向上させ、オリジンサーバーの帯域幅への負荷を軽減します。CDN のキャッシュヒット率が低いと、ユーザーエクスペリエンスに悪影響を与え、オリジンサーバーの帯域幅への負荷が増加します。

CDN バイトヒット率:

  • バイトヒット率 = (L1 POP によって提供されるトラフィック – L1 POP によって提供される back-to-origin トラフィック) / L1 POP によって提供されるトラフィック

    説明

    バイトヒット率が低いほど back-to-origin トラフィックが多くなり、アウトバウンドトラフィック、帯域幅消費、オリジンサーバーのワークロードが増加します。したがって、back-to-origin トラフィックはオリジンサーバーのワークロードを表します。ほとんどの場合、バイトヒット率に注目する必要があります。

  • リクエストヒット率 = CDN キャッシュにヒットしたリクエスト数 / CDN へのリクエスト総数

    重要

    Range オリジンフェッチが有効になっている場合は、ヒット率のメトリックとしてバイトヒット率を使用することをお勧めします。

CDN のキャッシュヒット率を表示する

方法 1: コンソールでキャッシュヒット率を表示する

CDN コンソールで提供されるキャッシュヒット率はバイトヒット率です。次の方法でキャッシュヒット率を表示できます:

  • リソース監視機能を使用してデータをクエリする

    長期間にわたってデータをクエリできます。この機能は、30 日間などの長期間にわたるヒット率を表示するのに適しています。時間の粒度が 5 分の場合、データ遅延は約 15 分です。詳細については、「リソース監視」をご参照ください。命中率

  • リアルタイムモニタリング機能を使用してデータをクエリする

    短期間にわたってデータをクエリできます。この機能は、1 時間などの短期間にわたるリアルタイムのヒット率を表示するのに適しています。時間の粒度が 1 分の場合、データ遅延は約 3 分です。詳細については、「リアルタイムモニタリング」をご参照ください。质量监控

方法 2: API 操作を呼び出す

  • リソース監視機能の API 操作

    API

    説明

    DescribeDomainHitRateData

    高速化ドメイン名のバイトヒット率をクエリします。過去 90 日間のデータをクエリできます。

    DescribeDomainReqHitRateData

    高速化ドメイン名のリクエストヒット率をクエリします。過去 90 日間のデータをクエリできます。

  • リアルタイムモニタリング機能の API 操作

    API

    説明

    DescribeDomainRealTimeByteHitRateData

    高速化ドメイン名のバイトヒット率を 1 分の粒度でクエリします。過去 7 日間のデータをクエリできます。

    DescribeDomainRealTimeReqHitRateData

    高速化ドメイン名のリクエストヒット率を 1 分の粒度でクエリします。過去 7 日間のデータをクエリできます。

CDN のキャッシュヒット率を向上させる

次の表に、CDN のキャッシュヒット率に影響する要因と、それを向上させる方法を示します。

ポリシー

要因とシナリオ

設定方法

ピーク時間前に人気のあるリソースをプリフェッチする

要因: 大規模な運用アクティビティを開始したり、新しいインストールパッケージをリリースしたりする前にリソースを POP にプリフェッチしないと、多くのリソースをオリジンサーバーから取得する必要があります。これにより、CDN のキャッシュヒット率が低くなります。

シナリオ:

  • 運用アクティビティ

    大規模な運用アクティビティを開始する前に、アクティビティページの静的リソースを POP にプリフェッチします。アクティビティが開始されると、ユーザーがアクセスするすべての静的リソースが POP にキャッシュされます。その後、POP はユーザーリクエストに直接応答できます。

  • インストールパッケージのリリース

    新しいインストールパッケージまたはアップグレードパッケージをリリースする前に、リソースを POP にプリフェッチします。プロダクトがリリースされると、POP はユーザーからの多数のダウンロードリクエストに直接応答できます。これにより、ダウンロード速度が向上し、オリジンサーバーへの負荷が大幅に軽減され、ユーザーエクスペリエンスが向上します。

リソースの更新とプリフェッチ

適切な Time-to-Live (TTL) を設定する:

  • 画像やアプリケーションのインストールパッケージなど、更新頻度の低い静的ファイルについては、TTL を 1 か月以上に設定することをお勧めします。

  • JS ファイルや CSS ファイルなど、頻繁に更新される静的ファイルについては、必要に応じて TTL を設定します。

  • PHP、JSP、ASP ファイルなどの動的ファイルについては、TTL を 0s に設定することをお勧めします。これにより、ファイルがキャッシュされるのを防ぎます。

要因:

  • キャッシュポリシーが CDN で設定されていません。すべてのユーザーリクエストはオリジンサーバーにリダイレクトされます。

  • CDN で設定された TTL が短すぎます。キャッシュされたリソースは頻繁に有効期限切れになります。これにより、キャッシュヒット率が低くなります。

シナリオ: ユーザーがオリジンサーバーで静的リソースをリリースしたが、POP がリソースをキャッシュしないか、POP にキャッシュされたリソースが短時間で有効期限切れになる。

Time-to-Live (TTL) を設定する

URL 内の疑問符 (?) に続くパラメーターをキャッシュキーから削除する

要因: URL に queryString またはその他の可変パラメーターが含まれている場合、同じリソースにアクセスするために異なる URL を使用するリクエストはオリジンサーバーにリダイレクトされます。これにより、CDN のキャッシュヒット率が低くなります。

シナリオ: 異なるパラメーターを含む異なる URL を使用して同じリソースにアクセスする必要がある。

パラメーターを無視する

大きなファイルに対して Range オリジンフェッチポリシーを設定する

要因: ユーザーがインストールパッケージのダウンロードやビデオの視聴を途中で停止することがあります。この場合、ユーザーはリソースファイルの一部にのみアクセスする必要があります。しかし、POP はオリジンサーバーからファイル全体をリクエストします。その結果、POP がオリジンサーバーからダウンロードするコンテンツのサイズが、ユーザーに返されるコンテンツのサイズよりも大きくなります。これにより、キャッシュヒット率が低くなります。

シナリオ: ユーザーがアプリケーションのインストールパッケージをダウンロードするか、ビデオを視聴する。

Range オリジンフェッチを設定する

その他のヒット率最適化ポリシー

一般的な最適化メジャーに加えて、Alibaba Cloud CDN は、中央 302 スケジューリング、エッジ 302 スケジューリング、マージされたオリジンフェッチ、共有キャッシュなど、さまざまなビジネスシナリオに合わせて設定できる他の最適化機能を提供します。

これらの機能は、バックグラウンドで Alibaba Cloud のテクニカルサポートエンジニアによって設定されます。

キャッシュヒットステータスに関するログを表示する

すべての CDN リクエストのキャッシュヒットステータスは、CDN リクエストログに記録されます。ログフォーマットの詳細については、「オフラインログのフィールド」をご参照ください。

キャッシュヒットステータスフィールドの説明:

  • HIT: キャッシュヒット。

  • MISS: キャッシュミス。

説明

ヒットステータスは L1 POP のステータスのみを示します。たとえば、リクエストが L1 POP のキャッシュにヒットせず、L2 POP のキャッシュにヒットした場合でも、ログには MISS が記録されます。

ログの例:

26/Jun/2019:10:38:19 +0800] 192.168.53.146 - 1542 "-" "GET http://example.aliyundoc.com/index.html" 200 191 2830 MISS "Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://example.com/robot/)" "text/html"

また、DescribeCdnDomainLogs 操作を呼び出して、高速化ドメイン名のオフラインログのダウンロード URL を取得することもできます。