LOG IN SIGN UP
Documentation

キャッシュ状態の確認

  Last updated August 15, 2018

Web サイトにあるコンテンツのキャッシュ状態を確認することは、トラブルシューティングをする際に役立ちます。Fastly のキャッシュサーバーにあるキャッシュされたコンテンツの状態を確認するため Fastly コントロールパネルまたは、cURL コマンドを利用します。また、それらで提供される情報からコンテンツの状態や、応答時間、コンテンツのハッシュ値を調べることができます。

Fastly コントロールパネルの利用方法

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

  1. Fastly コントロールパネルにログインし、Configure のリンクをクリックします。
  2.  Check Cache ボタンをクリックすると、Check Cache 画面が表示されます。

    the Check Cache window

  3.  Full URL path 欄に当該コンテンツのフルパスを入力してください。(例 http://www.example.com/object.html).
  4.  Check Cache ボタンをクリックすることで、Check Cache 画面に結果が表示されます。

    the Check Cache results

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

cURL コマンドの利用方法

もっとも容易に Fastly にコンテンツがキャッシュされていることを確認する方法としては、Fastly コントロールパネルにある Check Cache を利用する方法ですが、コマンドラインの利用を希望される場合は、cURL を利用することも可能です。デバック目的では、以下の2つの cURL コマンドの利用を推奨します:

シンプルな cURL コマンド

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

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

上記の www.example.com/index.html は、テストを実施する当該コンテンツのフルパスに置き換えて実行してください。

例えば、curl -svo /dev/null www.example.com を実行すると以下のような結果が得られます:

1
2
3
4
5
6
7
8
[...]

< 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: HITX-Cache: HIT, HITX-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 は、テストを実施する当該コンテンツのフルパスに置き換えて実行してください。

例えば、curl -svo /dev/null -H "Fastly-Debug:1" www.example.com を実行することで、オリジンシールドの利用や、Surrogate-Control を用いて TTL を86400 (24時間) に設定しているというような以下の結果が得られます:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[...]

< 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 コマンドでは Age ヘッダーによりキャッシュサーバーにあるコンテンツがキャッシュされてから経過時間した時間が表示されてますが、それに加えて Fastly-Debug ヘッダーを用いることで、以下にあるようなデバックに役立つ特定のヘッダーを表示させることができます。

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

Fastly-Debug Path では、対象コンテンツをオリジンサーバーから取得したサーバーまたは配信したサーバーが表示されます。エッジ POP が1番目に表示され、続いてオリジンシールド POP が2番めに表示されます。

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

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

以下の3つの情報も表示されます:  

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

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

X-Cache 当該 POP においてリクエストが HIT したかまたは、MISS したかを表示します。


Additional resources:


Back to Top