LOG IN SIGN UP
Documentation

curl およびその他のキャッシュ検証手段

  Last updated April 07, 2017

リクエストが Fastly のネットワークにキャッシュされているかどうかを確認する最も簡単な方法は、コマンドラインから cURL コマンドを利用することです。次の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

[...]

この出力は、キャッシュオブジェクトがキャッシュされてからの経過時間( Age )を含みます。また X-Served-By に2つのノードの情報が表示されていることから、シールディングが有効化されていることが分かります。 最も興味深いのは X-Cache ヘッダーです。正しくキャッシュされているオブジェクトでは X-Cache: HIT, X-Cache: HIT, HIT, X-Cache: HIT, MISS, または 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 の箇所は、テストを行いたいオブジェクトのパスに置き換えてください。

たとえば、シールディングが利用され、 Surrogate-Control で TTL に86400 (24 hours) が設定されている場合、 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 によって Surrogate-key が設定されている場合はその情報が表示されます。シンプルな cURL コマンドと同様にキャッシュされてからの経過時間も表示されています。 それらの情報に加え Fastly-Debug ヘッダーは以下のようなデバッグ情報も表示します。

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

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

シールディングが有効化されていると、このヘッダーには通常4つのキャッシュサーバーの情報が含まれます。ひとつのサーバーがクラスタ内でオブジェクトのフェッチと配信の両者を行うまれなケースでは、2または3つのキャッシュサーバー情報が含まれる事があります。

Fastly-Debug-TTL には HIT や MISS といった情報が含まれます。

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

クラスタノードがこれらの数字を決定するため、これらの数字が期待通り取得されるまでには数回のアクセスが必要な場合があります。

X-Served-By はリクエストを処理したシールドとエッジサーバーの情報を示します。シールド POP が先に表示され、エッジ POPがの情報が続いて表示されます。

X-Cache: はデータセンター内でリクエストが HIT であったか MISS であったかを示します。


Back to Top