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 のキャッシュヒット率を表示する
CDN のキャッシュヒット率を向上させる
次の表に、CDN のキャッシュヒット率に影響する要因と、それを向上させる方法を示します。
ポリシー | 要因とシナリオ | 設定方法 |
ピーク時間前に人気のあるリソースをプリフェッチする | 要因: 大規模な運用アクティビティを開始したり、新しいインストールパッケージをリリースしたりする前にリソースを POP にプリフェッチしないと、多くのリソースをオリジンサーバーから取得する必要があります。これにより、CDN のキャッシュヒット率が低くなります。 シナリオ:
| |
適切な Time-to-Live (TTL) を設定する:
| 要因:
シナリオ: ユーザーがオリジンサーバーで静的リソースをリリースしたが、POP がリソースをキャッシュしないか、POP にキャッシュされたリソースが短時間で有効期限切れになる。 | |
URL 内の疑問符 (?) に続くパラメーターをキャッシュキーから削除する | 要因: URL に queryString またはその他の可変パラメーターが含まれている場合、同じリソースにアクセスするために異なる URL を使用するリクエストはオリジンサーバーにリダイレクトされます。これにより、CDN のキャッシュヒット率が低くなります。 シナリオ: 異なるパラメーターを含む異なる URL を使用して同じリソースにアクセスする必要がある。 | |
大きなファイルに対して Range オリジンフェッチポリシーを設定する | 要因: ユーザーがインストールパッケージのダウンロードやビデオの視聴を途中で停止することがあります。この場合、ユーザーはリソースファイルの一部にのみアクセスする必要があります。しかし、POP はオリジンサーバーからファイル全体をリクエストします。その結果、POP がオリジンサーバーからダウンロードするコンテンツのサイズが、ユーザーに返されるコンテンツのサイズよりも大きくなります。これにより、キャッシュヒット率が低くなります。 シナリオ: ユーザーがアプリケーションのインストールパッケージをダウンロードするか、ビデオを視聴する。 | |
その他のヒット率最適化ポリシー | 一般的な最適化メジャーに加えて、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 を取得することもできます。

