Getting started
Basics
Domains & Origins
Performance

Configuration
Basics
Conditions
Dictionaries
Domains & Origins
Request settings
Cache settings
Headers
Responses
Performance
Custom VCL
Image optimization
Video

Security
Access Control Lists
Monitoring and testing
Securing communications
Security measures
TLS
Web Application Firewall

Integrations
Logging endpoints
Non-Fastly services

Diagnostics
Streaming logs
Debugging techniques
Common errors

Account info
Account management
Billing
User access and control

Reference

    オリジンシールドサービスを利用したキャッシュ HIT および MISS ヘッダーの理解

      Last updated April 24, 2018

    ここでは、オリジンシールドを利用している場合に、キャッシュ HIT および MISS ヘッダーの判読に役立つ内容をいくつか記載します。 Fastly のレスポンスヘッダーを取得するため、同じオブジェクトに対して cURL コマンド (例えば curl -svo /dev/null www.example.com) をターミナル上で実施した際の結果を見てみましょう。

    上記の cURL コマンドの最初のリクエストは、以下のような出力結果になるかもしれません :

    1
    2
    3
    
    X-Served-By: cache-iad2120-IAD, cache-sjc3120-SJC
    X-Cache: MISS, MISS
    X-Cache-Hits: 0, 0
    

    最初のリクエストでは、 オリジンシールドを利用しているため X-Served-By で 2 つのキャッシュノードが見られます。cache-iad2120-IAD は、シールドのデータセンターの配信キャッシュノードとして、またcache-sjc3120-SJCは、 " ローカル " データセンターの配信キャッシュノードとして配信をしています。 X-Cache: MISS, MISS は、リクエストされたオブジェクトがシールドキャッシュ (MISS) 、 ローカル配信ノード ( こちらも MISS ) のどちらにも存在しなかったことを示しています。X-Cache-Hitsは、 0, 0を表示しているため、同様に MISS であることを反映しています。

    上記の cURL コマンドの 2 回目のリクエストは、以下のような出力結果になるかもしれません :

    1
    2
    3
    
    X-Served-By: cache-iad2120-IAD, cache-sjc3120-SJC
    X-Cache: MISS, HIT
    X-Cache-Hits: 0, 1
    

    2 回目のリクエストでは、同じローカルキャッシュノード (cache-sjc3120-SJC) にアクセスし、HIT の結果を得ました。 cache-iad2120-IAD に対する MISS はそのオブジェクトに対して最後にリクエストされた時のノードの状態、つまり初回のリクエストが MISS であったことを示しており、現在の状態を反映しているものではありません。当該オブジェクトは両方のデータセンターで現在キャッシュされています。

    1, 2 分待った後、上記の cURL コマンドを使って同じオブジェクトに対する 3 回目のリクエストを行うと、以下の様な結果になるかもしれません :

    1
    2
    3
    
    X-Served-By: cache-iad2120-IAD, cache-sjc3122-SJC
    X-Cache: MISS, HIT
    X-Cache-Hits: 0, 1
    

    この3回目のリクエストは、新しいキャッシュ (cache-sjc3122-SJC) が " ローカル "データセンターで選択されたことを示しています。ローカルデータセンターで当該オブジェクトはキャッシュされているので HIT となり、シールドのデータセンターの状態はまだ MISS ですが、それは初回のリクエストの状態のことになります。X-Cache-Hits0, 1 を示していますが、シールドデータセンターが 0 で 1 は、 cache-sjc-3122-SJC において1回目の HIT であることが反映されています。

    もし最も近い配信キャッシュノードがシールドデータセンターにあった場合、以下のように 1 つのサーバーと 1 つの HIT のみが表示されるという点に留意ください :

    1
    2
    3
    
    X-Served-By: cache-iad2120-IAD
    X-Cache: HIT
    X-Cache-Hits: 1
    

    当該オブジェクトをパージした後に再び上記 cURL コマンドでリクエストを行うと、以下のように最初のリクエストと同じような結果が生成されるはずです :

    1
    2
    3
    
    X-Served-By: cache-iad2120-IAD, cache-sjc3120-SJC
    X-Cache: MISS, MISS
    X-Cache-Hits: 0, 0
    
    Back to Top