- English
- 日本語
キャッシュ状態の確認
最終更新日 2024-03-26
Webサイトにあるコンテンツのキャッシュ状態の確認は、トラブルシューティングの際に役立ちます。コントロールパネルまたは curl コマンド (サポートされている多数のプロトコルの一つを使用して、サーバーとの間で URL 構文を使用してデータを転送するオープンソースのコマンドラインツール) を使用して、Fastly のキャッシュノードにキャッシュされたオブジェクトをチェックし、提供された情報を基に、オブジェクトのステータスやレスポンスタイム、コンテンツハッシュを調べることができます。
curl コマンドの利用方法
2つの curl コマンドのうちのひとつを使用して、リクエストが Fastly ネットワークにキャッシュされているかどうかを確認できます。
- シンプルな curl コマンドでは、対象となるコンテンツのリクエストとレスポンスヘッダーを表示します。
Fastly-Debug
ヘッダーを使用する、若干複雑な curl コマンドでは、シンプルな 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, HIT
、X-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 コントロールパネルを利用してコンテンツのキャッシュ状態を確認する方法は、以下の通りです。
- Fastly コントロールパネルにログインします。
- Home ページから、適切なサービスを選択します。検索ボックスで ID、名称、ドメインによる検索が行えます。
Check Cache をクリックします。
Full URL path フィールドに、オブジェクトのフルパスを入力します (例:
http://www.example.com/object.html
)。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-By
、X-Cache
、X-Cache-Hits
ヘッダーの理解に役立つ詳細な情報を提供しています。
翻訳についての注意事項
このフォームを使用して機密性の高い情報を送信しないでください。サポートが必要な場合は、サポートチームまでご連絡ください。このフォームは reCAPTCHA によって保護されており、Google のプライバシーポリシーと利用規約が適用されます。