キャッシュ状態の確認

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

curl コマンドの利用方法

2つの curl コマンドのうちのひとつを使用して、リクエストが Fastly ネットワークにキャッシュされているかどうかを確認できます。

シンプルな 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: HITX-Cache: HIT, HITX-Cache: HIT, MISS または X-Cache: MISS, HIT の値を表示します。

curl コマンドによる Fastly Debug ヘッダーの利用

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

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

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

例えば、オプションのオリジンシールドを使用した状態で、Surrogate-Control を使用して TTL を86400 (24時間) に設定した場合、この 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 ヘッダーは以下のようなデバッグ情報も表示します。

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

警告

Check Cache をクリックすると、すべての Fastly キャッシュノードがオブジェクトのオリジンにリクエストを送信します。このボタンを複数回クリックすると、リクエストによってオリジンが過負荷の状態になる可能性があります。代わりに、キャッシュステータスを確認するために curl を使用することを検討してください。

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

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

    Check Cache ウィンドウ

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

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

    Check Cache の結果

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

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

Fastly-Debug Path には、どのキャッシュサーバーが取得や配信を行ったかなど、オブジェクトの TTL 情報が記録されます。エッジ POP が1番目に表示され、シールド POP が2番目に表示されます。

  • 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 であるかを示します。

注意

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


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

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