キャッシュ状態の確認

Web サイトにあるコンテンツのキャッシュ状態を確認することは、トラブルシューティングをする際に役立ちます。コントロールパネルまたは curl コマンド (サポートされている多数のプロトコルの一つを使用して、サーバーとの間で URL 構文を使用してデータを転送するオープンソースのコマンドラインツール) を使用して、Fastly のキャッシュノードにキャッシュされたオブジェクトをチェックし、提供された情報を基に、オブジェクトのステータスやレスポンスタイム、コンテンツハッシュを調べることができます。

コントロールパネルを使用する

Fastly コントロールパネルを利用してコンテンツのキャッシュ状態を確認する方法は、以下の通りです:

  1. Fastly コントロールパネルにログインします。
  2. Home ページから、適切なサービスを選択します。検索ボックスで ID、名称、ドメインによる検索が行えます。
  3. Check Cache をクリックします。

    [キャッシュの確認] ウィンドウ

  4. Full URL path フィールドに、オブジェクトのフルパスを入力します (例:http://www.example.com/object.html)。

  5. Check Cache をクリックします。 [Check Cache] 画面に結果が表示されます。

    キャッシュの確認の結果

この情報は、Fastly のキャッシュサーバーに保持しているコンテンツを検証するために、利用することができます。もしコンテンツのハッシュ値が各キャッシュサーバーで違っている場合、一般的にキャッシュに問題があることを示しています。

curl コマンドの利用方法

リクエストが Fastly ネットワークにキャッシュされているかどうかを確認する最も簡単な方法は、Fastly コントロールパネルのキャッシュの確認機能を使用することですが、コマンドラインの利用を希望される場合は、デバッグ目的で 2つの curl コマンドのいずれかを使用することもできます。

シンプルな curl コマンドの使用

以下の curl コマンドは、対象となるコンテンツのリクエストとレスポンスヘッダを表示します。

$ curl -svo /dev/null www.example.com/index.html

www.example.com/index.html の箇所は、テストを行いたいオブジェクトのパスに置き換えてください。

例えば、使用するcurl -svo /dev/null www.example.comと次のような部分が出力されます。

[...]
< Age: 142
< X-Served-By: cache-jfk1041-JFK, cache-ord1720-ORD
< X-Cache: HIT, HIT
< X-Cache-Hits: 1, 7
[...]

この出力は、キャッシュ内のオブジェクトの現在の経過時間を含みます。また X-Served-By に2つのノードの情報が表示されていることから、オリジンシールドが有効化されていることが分かります。最も興味深いのは X-Cache ヘッダーです。適切にキャッシュされたオブジェクトは、、X-Cache: HIT``X-Cache: HIT, MISS、またはX-Cache: HIT, HIT``X-Cache: MISS, HITの値を表示します。

Fastly-Debug ヘッダーを伴う curl コマンドの利用

Fastly-Debugヘッダーを利用するとシンプルな curl コマンドでは取り除かれるデバッグ情報を確認することができます。

$ curl -svo /dev/null -H "Fastly-Debug:1" www.example.com/index.html

www.example.com/index.html の箇所は、テストを行いたいオブジェクトのパスに置き換えてください。

例えば、オプションのオリジンシールドを使用し、TTL を86400 (24時間) に設定した場合、このSurrogate-Controlコマンドcurl -svo /dev/null -H "Fastly-Debug:1" www.example.comでは次のような出力が得られます。

[...]
< Surrogate-Control: max-age=86400
< Surrogate-Key: articles articles/1 articles/2
[...]
< Age: 403
< Fastly-Debug-Path: (D cache-ord1722-ORD 1470672957) (F cache-ord1743-ORD 1470672629) (D cache-jfk1041-JFK 1470672629) (F cache-jfk1030-JFK 1470672554)
< Fastly-Debug-TTL: (H cache-ord1722-ORD 85997.246 0.000 403) (H cache-jfk1041-JFK - - 75)
< X-Served-By: cache-jfk1041-JFK, cache-ord1722-ORD
< X-Cache: HIT, HIT
< X-Cache-Hits: 1, 6
[...]

サロゲートキーが存在するため、Fastly-Debugヘッダーではそれを公開しています。シンプルな curl コマンドと同様にキャッシュされてからの経過時間も表示されています。それらの情報に加え、Fastly-Debug ヘッダーは以下のようなデバッグ情報も表示します。

Fastly-Debug ヘッダーによって表示される情報

Fastly-Debug Path にはどのキャッシュサーバーがフェッチや配信を行ったかや、オブジェクトの TTL 情報が記録されます。シールディングを利用している場合はエッジ POP の情報が先に記録され、続いてシールド POP の情報が記録されます。

  • D は、エッジまたはシールドにあるどのキャッシュが vcl_deliver を実行したものなのかを、キャッシュ名前で表しています。
  • F は、エッジまたはシールドにあるどのキャッシュが vcl_fetch を実行したものなのかを、キャッシュ名前で表しています。
  • 各サーバー名の横に表示されている数字は、タイムスタンプを表示しています。

オリジンシールドを有効にしている場合、このヘッダーでは、通常4つのキャッシュサーバーが表示されます。稀なケースとして、あるキャッシュサーバーが当該オブジェクトのクラスタ内のエッジとシールドの両方として存在する場合、2つまたは3つのキャッシュが表示されることがあります。

Fastly-Debug-TTL では、HIT または MISS の情報を表示します。

  • H は、HIT を意味し、キャッシュサーバーに当該オブジェクトが存在したことを示しています。
  • M は、MISS を意味し、リクエストしたときには、当該オブジェクトがキャッシュサーバーに存在していなかったことを示しています。

3つの数字の情報はそれぞれ以下の情報を含みます :

  • 1つ目の数字 オブジェクトの残存 TTL
  • 2つ目の数字 グレース期間
  • 3つ目の数字 オブジェクトがキャッシュされてからの経過時間

上記の3つの情報を見るためには、数回リクエストを実行する必要がある可能性があります。当該クラスターノードにリクエストするか、もしくはすでに一時メモリーに当該コンテンツが存在しているキャッシュサーバーにリクエストした場合に表示されます。

X-Served-By では、当該リクエストに対応したオリジンシールドまたはエッジのキャッシュサーバーが表示されます。オリジンシールド POP が1番目に表示され、エッジ POP が2番目に表示されます。

X-Cache は、リクエストがデータセンターにとって HIT であるか MISS であるかを示します。

注意

当社のオリジンシールドデバッグドキュメントでは、シールドサービスの、X-Served-ByX-CacheX-Cache-Hitsヘッダーを理解するための詳細な情報を提供しています。


翻訳についての注意事項
このガイドは役に立ちましたか?

このフォームを使用して機密性の高い情報を送信しないでください。サポートが必要な場合は、サポートチームまでご連絡ください。このフォームは reCAPTCHA によって保護されており、Google のプライバシーポリシー利用規約が適用されます。