Nginxで実行されるWordpress WebサイトでVarnishCacheを使用しています。 このブログ で説明されている方法で構成されています。動作していますが、かどうかはわかりません。実際にはキャッシュからコンテンツを提供しています。
確実に知る方法は?誰かが私を案内してくれませんか。 Varnishキャッシュは初めてです。
Varnishは、デフォルトで、処理するすべての要求の応答にヘッダーを追加します。 Firebugなどのブラウザツール、またはcurlや[〜#〜などのCLIツールを使用して、応答ヘッダーを確認できます。 ] get [〜#〜]。 GETの例を次に示します。
Sudo apt-get install libwww-Perl && GET -Used http://localhost:6081/index.html
検索する2つのヘッダーは、X-VarnishとAgeです。 X-Varnishには、1つまたは2つの番号が含まれます。番号自体は重要ではありませんが、リクエストを参照します。リクエストの結果がミスの場合、Varnishはバックエンドからページをフェッチし、レスポンスのX-Varnishヘッダーには現在のリクエストの番号が1つ含まれています。
X-Varnish: 107856168
次回同じページがリクエストされると、ヒットする可能性があります。含まれている場合、Varnishはキャッシュからページをフェッチし、元のリクエストから番号を追加します。
X-Varnish: 107856170 107856168
Ageヘッダーは、キャッシュされたコピーが何秒古いかを示します。ミスの場合は0になり、ヒットの場合は> 0になります。
バックエンドは、誤ったヒットのように見える年齢ヘッダーを設定でき、スタックされたワニスは、X-Varnishヘッダーで誤ったミスを生成する可能性があることに注意してください。デバッグ時に確実に行うには、VCLのヒットおよびミス関数に独自のヘッダーを追加できます。説明については、このページを参照してください https://www.varnish-software.com/static/book/VCL_functions.html 。ワニスの初心者として、X-VarnishとAgeヘッダーが必要なすべてです。
Vclのさまざまなコードパスと条件で単体テストを実行できるように、vclのさまざまなポイントに独自のXヘッダーを追加することをお勧めします。
たとえば、vcl_deliverでは次のようになります。
sub vcl_deliver
{
# Insert Diagnostic header to show Hit or Miss
if (obj.hits > 0) {
set resp.http.X-Cache = "HIT";
set resp.http.X-Cache-Hits = obj.hits;
}
else {
set resp.http.X-Cache = "MISS";
}
...
}