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

CDN:Alibaba Cloud CDNのキャッシュヒット率の向上

最終更新日:Jan 25, 2024

Alibaba Cloud CDNのキャッシュヒット率が低い場合、オリジンサーバーの負荷が増加し、静的リソースの取得が遅くなります。 原因に基づいて、Alibaba Cloud CDNのキャッシュヒット率を改善するソリューションを選択できます。

背景情報

Alibaba Cloud CDNは、静的リソースをPOP (Point of presence) にキャッシュして、コンテンツ配信を高速化します。 クライアントがPOPにキャッシュされているリソースを要求すると、POPは要求されたリソースをクライアントに返します。 これにより、配信プロセスが簡素化され、コンテンツ配信が高速化され、配信元サーバーの負荷が軽減されます。 キャッシュヒット率が低いと、オリジンサーバーの負荷が増加し、ユーザーエクスペリエンスが低下します。

Alibaba Cloud CDNのキャッシュヒット率は、バイトヒット率とリクエストヒット率に分類されます。
  • バイトヒット率=キャッシュヒットに対して返されるバイト数 /すべてのリクエストに対して返されるバイト数
    説明 キャッシュヒット率が低いほど、オリジントラフィックの量が多いことを示します。 オリジンサーバーからのアウトバウンドトラフィックの量が多いほど、帯域幅の値が高くなり、オリジンサーバーの負荷が増えます。 したがって、オリジントラフィックはオリジンサーバーの負荷の量を表し、バイトヒット率は実際のビジネスシナリオでの主要な懸念事項です。
  • リクエストヒット率=キャッシュヒット数 /全リクエスト数

キャッシュヒット率の表示

次のいずれかの方法を使用して、キャッシュヒット率を表示できます。
  • 方法1: Alibaba Cloud CDNコンソールを使用する
    Alibaba Cloud CDNコンソールは、次の方法でバイトヒット率を表示します。
    • リソースモニタリング
      リアルタイムモニタリングと比較して、リソースモニタリングを使用すると、過去30日間など、より長い期間内にキャッシュヒット率をクエリできます。 モニタリングデータは5分ごとに収集され、約15分遅れる。 詳細については、「リソースモニタリング」をご参照ください。 命中率
    • リアルタイムモニタリング
      リソースモニタリングと比較して、リアルタイムモニタリングを使用すると、前の1時間など、より短い期間内にキャッシュヒット率をクエリできます。 モニタリングデータは毎分収集され、約3分遅れる。 詳細については、「リアルタイムモニタリング」をご参照ください。质量监控
  • 方法2: Alibaba Cloud CDN APIの使用
    • リソースモニタリングのAPI操作
      操作説明
      DescribeDomainHitRateData1つ以上の高速化ドメイン名のバイトヒット率を照会します。 過去90日間に収集されたデータをクエリできます。
      DescribeDomainReqHitRateData1つ以上の高速化ドメイン名のリクエストヒット率を照会します。 過去90日間に収集されたデータをクエリできます。
    • リアルタイムモニタリングのAPI操作
      操作説明
      DescribeDomainRealTimeByteHitRateData1つ以上の高速化ドメイン名のバイトヒット率を照会します。 データは毎分収集される。 過去7日間に収集されたデータをクエリできます。
      DescribeDomainRealTimeReqHitRateData1つ以上の高速化ドメイン名のリクエストヒット率を照会します。 データは毎分収集される。 過去7日間に収集されたデータをクエリできます。

Alibaba Cloud CDNのキャッシュヒット率の向上

キャッシュヒット率の低下の原因と解決策を次の表に示します。
解決策原因と使用シナリオ参考情報
オフピーク時にリソースをプリフェッチする原因: メジャーイベントが開始されるか、インストールパッケージがリリースされる前に、必要なリソースがPOPにプリフェッチされません。 必要なリソースは、オリジンサーバーから取得する必要があります。 これにより、キャッシュヒット率が低下する。
シナリオ
  • Provide support for major events

    メジャーイベントを保持する場合は、イベントページの静的リソースをPOPにプリフェッチできます。 イベントの開始後、訪問者はPOPに既にキャッシュされている静的リソースにアクセスできます。 これにより、コンテンツの配信が高速化されます。

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

    製品のインストールまたはアップグレードパッケージをリリースする前に、パッケージをPOPにプリフェッチできます。 製品の発売後、訪問者はPOPからパッケージをダウンロードできます。 これにより、コンテンツの配信が高速化され、多数の訪問者がリソースにアクセスする場合に配信元サーバーの負荷が軽減されます。

手動でリソースを更新
キャッシュされたリソースに適切な有効期限 (TTL) 値を指定する
  • 画像やアプリケーションパッケージなど、更新頻度の低い静的ファイルには、1か月以上のTTLを指定します。
  • JavaScriptやCSSファイルなど、頻繁に更新される静的ファイルのビジネス要件に基づいてTTLを指定します。
  • PHP、JSP、ASPファイルなどの動的ファイルのキャッシュを無効にするには、TTLを0秒に指定します。
原因:
  • Alibaba Cloud CDNではキャッシュポリシーは設定されておらず、すべてのリクエストはオリジンサーバーにリダイレクトされます。
  • Alibaba Cloud CDNで指定されたTTL値が必要な値よりも小さく、キャッシュされたリソースの有効期限が頻繁に切れます。 これにより、キャッシュヒット率が低下する。

シナリオ: 静的リソースはオリジンサーバーにデプロイされますが、POPにはキャッシュされません。 POPにキャッシュされているリソースは頻繁に期限切れになります。

リソースのキャッシュルールの作成
URLの疑問符 (?) の後のパラメーターを無視する原因: リクエストURLにqueryStringまたはその他の変数が含まれている場合、URLが同じリソースへのアクセスに使用されているかどうかに関係なく、URLは異なると見なされます。 この場合、リクエストはオリジンサーバーにリダイレクトされます。 これにより、キャッシュヒット率が低下する。

シナリオ: 異なるクエリ文字列を含むURLを同じリソースにリダイレクトします。

パラメーターを無視
オリジンサーバーからリソースファイルのチャンクを取得するポリシーを構成する原因: さまざまな理由により、インストールパッケージまたはビデオストリーミングのダウンロードが一時停止することがあります。 場合によっては、ユーザーはファイルのチャンクのみを必要としますが、POPはファイル全体を返します。 ユーザに返されるコンテンツのサイズは、ユーザによって要求されるコンテンツのサイズよりも大きい。 この場合、キャッシュヒット率は予想される率よりも低い。

シナリオ: インストールパッケージまたはビデオストリーミングのダウンロード。

範囲オリジンフェッチ機能の設定
キャッシュヒット率を上げるためのその他のポリシーAlibaba Cloud CDNは、セントラルまたはエッジルーティングシステムを使用した302リダイレクト、back-to-originリクエストのマージ、さまざまなビジネス要件に基づくキャッシュ共有など、他の最適化ソリューションも提供しています。 Alibaba Cloudのアフターセールスエンジニアは、バックエンドでポリシーを設定します。

キャッシュヒット状態のログデータの表示

Alibaba Cloud 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 (互換性のある; AhrefsBot/5.0; + http://example.com/robot/)" "text/html"

DescribeCdnDomainLogsを呼び出して、高速化ドメイン名のログデータを照会することもできます。