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

:キャッシュヒット率の低下のトラブルシューティング

最終更新日:Mar 26, 2024

Alibaba Cloud CDNコンソールに表示されるキャッシュヒット率は低く、オリジンサーバーはポイントオブプレゼンス (POP) から多数のリクエストを受信します。 これにより、コンテンツの読み込みが遅くなり、オリジンサーバーの負荷が増加します。 このトピックでは、キャッシュヒット率の低下のトラブルシューティング方法について説明します。

概要

すべてのリクエストがオリジンサーバーに向けられている場合、キャッシュヒット率は非常に低くなります。 不安定なネットワーク条件はまた、低いキャッシュヒット率をもたらし得る。 URLのプリフェッチ、リソースキャッシュルールの設定、およびURLの変数パラメーターの除外を行って、キャッシュヒット率を向上させることができます。 詳細については、「Alibaba Cloud CDNのキャッシュヒット率の向上」をご参照ください。 次の操作を実行して、キャッシュヒット率の低下をトラブルシューティングできます。

Alibaba Cloud CDNコンソールでのキャッシュヒット率とトラフィック統計の表示

次のセクションでは、Alibaba Cloud CDNコンソールでキャッシュヒット率とトラフィックを分析する方法について説明します。

  1. Alibaba Cloudコンソールに表示されるキャッシュヒット率を確認します。 Alibaba Cloud CDNコンソールには、L1 POPのキャッシュヒット率のみが表示されます。 L1 POPのキャッシュデータは、オリジンサーバーではなくL2 POPから取得されます。 したがって、実際のキャッシュヒット率は、Alibaba Cloud CDNコンソールに表示されるキャッシュヒット率よりも高くなります。

    説明
    • Alibaba Cloud CDNのデータフローは、クライアント> L1 POP > L2 POP> オリジンサーバーです。

    • Alibaba Cloud CDNコンソールの左側のナビゲーションウィンドウで、[モニタリングと使用状況分析] > [リソースモニタリング] を選択し、[ヒット率] タブでキャッシュヒット率データを表示します。

      image

  2. 送信した高速化ドメイン名に関するトラフィック統計を表示します。 高速化ドメイン名のトラフィックが少ない場合、キャッシュヒット率の統計計算は、キャッシュをミスするURLが少なくても大きく影響します。 たとえば、高速化ドメイン名は、インターネットアクセスを許可する10個のURLを提供します。 URLの1つには、オリジンサーバーで設定されたキャッシュなしポリシーがあります。 このポリシーにより、Alibaba Cloud CDNはこのURLのリソースをキャッシュしません。 したがって、他のURLのリクエストがキャッシュにヒットしても、キャッシュヒット率は90% に低下します。

    説明

    Alibaba Cloud CDNコンソールの [概要] ページで、高速化ドメイン名に関するトラフィックと帯域幅の統計を確認できます。

    image

  3. サービスのQPSが正常かどうかを確認します。 デフォルトでは、リソースは設定された有効期限 (TTL) に基づいてPOPにキャッシュされます。 しかし、POPのディスクスペースは限られています。 アクセス頻度が高い場合は、アクセス頻度に基づいてキャッシュされているファイルを置き換え、アクセス頻度の低いファイルはアクセス頻度の高いファイルに置き換える。 これにより、より多くのオリジンフェッチリクエストが発生します。 QPSが20未満のドメイン名は、この問題が発生しやすくなります。 POP上のリソースが確実にヒットできるように、ドメイン名でリソースをプリフェッチすることを推奨します。

キャッシュ設定の確認

不適切なパラメーター設定によってキャッシュヒット率が低下しているかどうかを確認するには、次の操作を実行します。

  1. Range Origin FetchパラメーターがForceに設定されているかどうかを確認します。 詳細については、「範囲オリジンフェッチの設定」をご参照ください。 Range Origin Fetchパラメーターを [Force] に設定した場合、すべてのback-to-originリクエストに対して指定された範囲サイズに基づいて範囲オリジンのフェッチが実行されます。 範囲原点フェッチ機能は両刃の剣です。 オリジンサーバー上のファイルのサイズが50 MBを超える、またはオリジンサーバーの帯域幅が低いシナリオでは、レンジオリジンフェッチにより、大量のファイルダウンロード中のネットワークの輻輳を軽減できます。 オリジンサーバー上のファイルの平均サイズが10 MB未満などの小さいシナリオでは、Range origin FetchパラメーターをForceに設定した場合、コンテンツ配信は最適化されません。 逆に、オリジンフェッチの効率が低下し、より多くのリクエストがオリジンサーバーにリダイレクトされます。 これにより、キャッシュヒット率が低下する。

  2. Alibaba Cloud CDN高速化リソースのURLに可変パラメーターが含まれていることを確認します。 変数を含むURLを頻繁に使用し、ユーザーリクエストに異なるパラメーター変数が含まれている場合、Alibaba Cloud CDNはURLのハッシュ値を保存し、各URLはオリジンフェッチをトリガーします。 これにより、URLがPOPにキャッシュされたリソースにヒットすることはなく、Alibaba Cloud CDNはリソースの配信を高速化できません。 この場合、POPにリソースをキャッシュする前に、パラメーターを無視機能を有効にして、疑問符 (?) に続くuriとパラメーターを削除することを推奨します。 詳細については、「パラメーターの無視」をご参照ください。

    ただし、オリジンサーバーまたはユーザーが疑問符 (?) に続くパラメーターを使用する必要がある場合は、インテリジェントルーティングを使用してより柔軟なオリジンフェッチを提供するDynamic Content Delivery Network (DCDN) を使用することをお勧めします。 Alibaba Cloud CDNは、固定エッジPOPと中央POPに基づいてオリジンサーバーからリソースを取得します。疑問符 (?) インテリジェントルーティングは、ネットワーク品質を動的に検出し、オリジンフェッチルートを計画します。 DCDNは、エッジPOPからオリジンサーバーに、またはエッジPOPから中央POPに、そしてオリジンサーバーにリクエストをリダイレクトします。

    説明

    たとえば、URL http://example.aliyundoc.com/1.txt?timestamp=14378923では、timestampパラメータの値はアクセスごとに異なります。 リソースがPOPにキャッシュされていないため、リクエストURLがAlibaba Cloud CDNのキャッシュルールを満たしているかどうかにかかわらず、リソースへの最初のアクセスに対してMISSのキャッシュヒットステータスが返されます。 ただし、timestampパラメーターの値は変更されます。 したがって、アクセスごとにURLが異なり、MISSのキャッシュヒットステータスが返されます。 これはキャッシュヒット率に影響します。

  3. オリジンサーバーでマルチレプリカキャッシュが有効になっているかどうかを確認します。 マルチレプリカキャッシュでは、オリジンサーバーは、Accept-Encodingヘッダーの異なる値を持つユーザーリクエストにVaryヘッダーの異なる値を返すことができ、POPはVaryヘッダーの値に基づいてデータをキャッシュします。 Varyヘッダーの異なる値を含むリクエストは、back-to-originリクエストの数を増やし、キャッシュヒット率を低下させます。

  4. キャッシュ設定が正しく設定されているかどうかを確認します。 オリジンサーバーでキャッシュ関連のヘッダーが不適切な値に設定されている場合、または必要なヘッダーが設定されていない場合、Alibaba Cloud CDNのキャッシュルールがキャッシュなしの場合、アクセスリクエストごとにMISSのキャッシュヒットステータスが返されます。 これはキャッシュヒット率に影響します。

    • Cache-Controlヘッダーがno-cache、no-store、max-age=0、またはprivateに設定されている場合、またはPragmaヘッダーがno-cacheに設定されている場合、POPはリソースをキャッシュしません。

    • オリジンサーバーからのレスポンスヘッダーにETagまたはLast-modifiedヘッダーが含まれていない場合、POPはリソースをキャッシュしません。

    • 既定では、POPはオリジンサーバーで構成されているキャッシュ関連ヘッダーに基づいてリソースをキャッシュします。 max-age=0など、キャッシュ関連のヘッダーを不適切な値に設定すると、POPのキャッシュは上書きされます。

  5. 特定のファイル名拡張子を持つディレクトリまたはファイルのTTLを0秒に設定するなど、Alibaba Cloud CDNコンソールでキャッシュなしルールが設定されているかどうかを確認します。

  6. オリジンサーバーに大量の動的コンテンツが含まれているかどうかを確認します。 Alibaba Cloud CDNは、主にCSS、JavaScript、HTMLファイル、画像、テキスト、ビデオなどの静的リソースを高速化するために使用されます。 PHPやJSPファイルなどの動的リソース、内部ロジック処理を含むリソース、およびCookieは、オリジンサーバーから取得されます。

  7. 頻繁にリフレッシュ操作が行われていないか確認します。 Alibaba Cloud CDNコンソールは、キャッシュ更新機能を提供します。 更新操作を送信すると、POPにキャッシュされているすべてのリソースが無効になります。 したがって、同じURLに対するすべてのリクエストに対して、MISSのキャッシュヒットステータスが返されます。 これはキャッシュヒット率に影響します。

  8. ファイルに頻繁にアクセスするかどうかを確認します。 キャッシュされたURLが頻繁にアクセスされない場合、URLがキャッシュルールを満たしていても、キャッシュされたURLはPOPから削除される。 POPにキャッシュされたファイルは、アクセス頻度に基づいて削除されます。 最も頻繁にアクセスされないファイルは、最初に除去される。 アクセス頻度は、ファイルがPOPでアクセスされる頻度を示します。 ファイルのアクセス頻度が低い場合、ファイルが属するドメイン名はより少ない要求を受け取る。

参考資料