Alibaba Cloud CDN コンソールに表示されるキャッシュヒット率が低く、オリジンサーバーが配信拠点(POP)から大量のリクエストを受信しています。これにより、コンテンツの読み込みが遅くなり、オリジンサーバーの負荷が増加します。このトピックでは、キャッシュヒット率が低い問題のトラブルシューティング方法について説明します。
概要
すべてのリクエストがオリジンサーバーに転送される場合、キャッシュヒット率は非常に低くなります。ネットワークの状態が不安定な場合も、キャッシュヒット率が低くなる可能性があります。 URL のプリフェッチ、リソースキャッシュルールの構成、URL 内の可変パラメーターの除外を行うことで、キャッシュヒット率を向上させることができます。 詳細については、「Alibaba Cloud CDN のキャッシュヒット率を向上させる」をご参照ください。 キャッシュヒット率が低い問題をトラブルシューティングするには、次の操作を実行できます。
Alibaba Cloud CDN コンソールでキャッシュヒット率とトラフィック統計を表示する
次のセクションでは、Alibaba Cloud CDN コンソールでキャッシュヒット率とトラフィックを分析する方法について説明します。
Alibaba Cloud コンソールに表示されるキャッシュヒット率を確認します。 Alibaba Cloud CDN コンソールには、L1 POP のキャッシュヒット率のみが表示されます。 L1 POP のキャッシュデータは、オリジンサーバーではなく L2 POP から取得されます。したがって、実際のキャッシュヒット率は、Alibaba Cloud CDN コンソールに表示されるキャッシュヒット率よりも高くなります。
説明Alibaba Cloud CDN のデータフローは、クライアント > L1 POP > L2 POP > オリジンサーバーです。
Alibaba Cloud CDN コンソールの左側のナビゲーションウィンドウで を選択し、[ヒット率] タブでキャッシュヒット率データを表示できます。

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

サービスの QPS が正常かどうかを確認します。デフォルトでは、リソースは構成された Time To Live(TTL)に基づいて POP にキャッシュされます。ただし、POP のディスク容量は限られています。アクセス頻度が高い場合、キャッシュされたファイルはアクセス頻度に基づいて置き換えられ、アクセス頻度の低いファイルはアクセス頻度の高いファイルに置き換えられます。これにより、オリジンフェッチリクエストが増加します。 QPS が 20 未満のドメイン名は、この問題が発生しやすくなります。 POP のリソースが確実にヒットするように、ドメイン名のリソースをプリフェッチすることをお勧めします。
キャッシュ構成を確認する
次の操作を実行して、不適切なパラメーター設定が原因でキャッシュヒット率が低くなっているかどうかを確認します。
範囲オリジンフェッチパラメーターが [強制] に設定されているかどうかを確認します。 詳細については、「範囲オリジンフェッチを構成する」をご参照ください。 範囲オリジンフェッチパラメーターを [強制] に設定すると、すべてのオリジン復帰リクエストに対して、指定された範囲サイズに基づいて範囲オリジンフェッチが実行されます。 範囲オリジンフェッチ機能は諸刃の剣です。オリジンサーバー上のファイルのサイズが 50 MB を超える場合、またはオリジンサーバーの帯域幅が低い場合、範囲オリジンフェッチは大きなファイルのダウンロード中のネットワーク輻輳を軽減できます。オリジンサーバー上のファイルの平均サイズが小さい場合(10 MB 未満など)、範囲オリジンフェッチパラメーターを [強制] に設定すると、コンテンツ配信は最適化されません。逆に、オリジンフェッチの効率が低下し、より多くのリクエストがオリジンサーバーにリダイレクトされます。これにより、キャッシュヒット率が低下します。
Alibaba Cloud CDN 高速化リソースへの URL に可変パラメーターが含まれているかどうかを確認します。変数を含む URL を頻繁に使用し、ユーザーリクエストに異なるパラメーター変数が含まれている場合、Alibaba Cloud CDN は URL のハッシュ値を保存し、各 URL がオリジンフェッチをトリガーします。このように、URL は POP にキャッシュされたリソースにヒットできず、Alibaba Cloud CDN はリソースの配信を高速化できません。この場合、[パラメーターを無視] 機能を有効にして、リソースを POP にキャッシュする前に、疑問符(
?)に続くuriとパラメーターを削除することをお勧めします。 詳細については、「パラメーターを無視する」をご参照ください。ただし、オリジンサーバーまたはユーザーが疑問符(
?)に続くパラメーターを使用する必要がある場合は、スマートルーティングを使用してより柔軟なオリジンフェッチを提供する Edge Security Acceleration(ESA)を使用することをお勧めします。 Alibaba Cloud CDN は、固定エッジ POP と中央 POP に基づいてオリジンサーバーからリソースを取得し、疑問符(?)に続くパラメーターを含む URL のパフォーマンスは ESA よりも低くなります。スマートルーティングは、ネットワーク品質を動的に検出し、オリジンフェッチルートを計画します。 ESA は、エッジ POP からオリジンサーバーへのリクエスト、またはエッジ POP から中央 POP 経由でオリジンサーバーへのリクエストをリダイレクトする場合があります。
たとえば、URL http://example.aliyundoc.com/1.txt?timestamp=14378923 では、timestamp パラメーターの値はアクセスごとに異なります。 リクエスト URL が Alibaba Cloud CDN のキャッシュルールを満たしているかどうかに関係なく、リソースへの最初のアクセスでは、リソースが POP にキャッシュされていないため、キャッシュヒットステータス MISS が返されます。ただし、timestamp パラメーターの値は変更されます。したがって、アクセスごとの URL が異なり、キャッシュヒットステータス MISS が返されます。これはキャッシュヒット率に影響します。
オリジンサーバーでマルチレプリカキャッシュが有効になっているかどうかを確認します。マルチレプリカキャッシュでは、オリジンサーバーは Accept-Encoding ヘッダーの値が異なるユーザーリクエストに対して Vary ヘッダーの異なる値を返すことができ、POP は Vary ヘッダーの値に基づいてデータをキャッシュします。 Vary ヘッダーの異なる値を含むリクエストは、オリジン復帰リクエストの数を増加させ、キャッシュヒット率の低下につながります。
キャッシュ設定が正しく構成されているかどうかを確認します。キャッシュ関連ヘッダーがオリジンサーバーで不適切な値に設定されているか、必要なヘッダーが構成されていない場合、Alibaba Cloud CDN のキャッシュルールが no-cache の場合、各アクセスリクエストに対してキャッシュヒットステータス MISS が返されます。これはキャッシュヒット率に影響します。
Cache-Control ヘッダーが no-cache、no-store、max-age=0、または private に設定されているか、Pragma ヘッダーが no-cache に設定されている場合、POP はリソースをキャッシュしません。
オリジンサーバーからのレスポンスヘッダーに ETag ヘッダーまたは Last-modified ヘッダーが含まれていない場合、POP はリソースをキャッシュしません。
デフォルトでは、POP はオリジンサーバーで構成されたキャッシュ関連ヘッダーに基づいてリソースをキャッシュします。 キャッシュ関連ヘッダーを
max-age=0などの不適切な値に設定すると、POP のキャッシュが上書きされます。
Alibaba Cloud CDN コンソールで no-cache ルールが構成されているかどうかを確認します(特定のファイル名拡張子を持つディレクトリまたはファイルの TTL を 0 秒に設定するなど)。
オリジンサーバーに大量の動的コンテンツが含まれているかどうかを確認します。 Alibaba Cloud CDN は、主に CSS、JavaScript、HTML ファイル、画像、テキスト、ビデオなどの静的リソースを高速化するために使用されます。 PHP ファイルや JSP ファイルなどの動的リソース、内部ロジック処理を含むリソース、Cookie はオリジンサーバーから取得されます。
頻繁な更新操作が実行されているかどうかを確認します。 Alibaba Cloud CDN コンソールは、キャッシュ更新機能を提供します。 更新操作を送信すると、POP にキャッシュされているすべてのリソースが無効になります。したがって、同じ URL に対するすべてのリクエストに対して、キャッシュヒットステータス MISS が返されます。これはキャッシュヒット率に影響します。
ファイルに頻繁にアクセスされているかどうかを確認します。 キャッシュされた URL に頻繁にアクセスされない場合、URL がキャッシュルールを満たしていても、キャッシュされた URL が POP から削除される可能性があります。 POP にキャッシュされたファイルは、アクセス頻度に基づいて削除されます。 アクセス頻度が最も低いファイルが最初に削除されます。 アクセス頻度は、ファイルが POP でアクセスされる頻度を示します。 ファイルのアクセス頻度が低い場合、ファイルが属するドメイン名はリクエストをあまり受信しません。