Varnish を Firebug で解析する(1)

Varnish のキャッシュが効いているかやどの位高速化されているかを解析するのは Firefox のアドオンである Firebug を使えば簡単にできます。

Varnish とは何か

あたりを参考にして下さい。今回は Varnish が既にサーバ側にインストールされているものとして話を進めます。インストールがまだの場合は あたりが参考になります。Windows の場合は Cygwin になりますがまだ説明はありません。。。

Firebug とは何か

超有名ツールなので説明の必要も無いかもしれませんが以下のような URL が参考になります。

Firebug で Varnish がキャッシュされているか確認する

Firebug で Varnish がキャッシュされているかを解析するのは主にネットタブを使います。
まず最初に確認したいサイトへアクセスし Firebug を開いてください。

Firebug を起動する
最初に Firebug を起動します。これは上のイメージの(1) のようにツールバーからでも「表示」−「Firebug」からでもどこでも構いません。

Firefox のリロード
Firebug が起動したらネットタブを開きます。ただ、このままだと何も表示されていないのでこの URL をリロード(再読み込み)します。

ブラウザキャッシュを無効化する
リロードすると各コンテンツをダウンロードした時の速度がタイムラインに表示されます。この時ステータス列を見てください。40x や 50x エラー以外で 200 OK や 304 Not Modified が出ていると思います。

304 Not Modified(エラーではありません)はブラウザがこの URL を過去に読み込み、各コンテンツ(URL)の情報(HTML だったりイメージだったり)を(ブラウザが)キャッシュしている時に発生します(Varnish のキャッシュではありません)。

この場合、サーバへキャッシュ情報を更新されていないかの確認は行なっていますが、修正がない場合はダウンロードせずにこのブラウザキャッシュをそのまま使う為、非常に高速になります。この状態が 304 Not Modified を意味します。

ただし、Varnish のデバッグを行う上ではブラウザキャッシュは邪魔になってしまう為、このブラウザキャッシュを無効化しておくのがベストです。
ブラウザキャッシュの無効化は上のイメージの (1) に示した箇所をクリックし、「ブラウザキャッシュを無効化する」を選択して URL を再読み込みします。

Firebug ネットステータスの確認
「ブラウザキャッシュを無効化する」を選択し、URL 再読み込みを行うと全てのステータスが 200 OK となっていることが確認できます。
次にこのネットタブの各 URL の + 起動をクリック((1) の箇所)して中身を見てみましょう。

Firebug で Varnish リクエストヘッダーを見る
この URL 情報にはいくつかタブが表示され(パラメータ、ヘッダ、レスポンス、キャッシュ、HTML、Cookie)ますが、今回はヘッダを見てみます。

ヘッダーは “レスポンスヘッダ” と “リクエストヘッダ” に別れ、それぞれ HTTP のレスポンスとリクエスト時のパラメータを示しています。

そして Varnish でキャッシュができているかを確認するにはこの “レスポンスヘッダ” の X-Varnish を見てみます。これは Varnish がレスポンスを返す時に必ず付与するパラメータです。

フォーマットは “X-Varnish [数値1] [数値2]” となっていますが、各数値は Varnish 側で管理しているコンテンツの ID になります。ただし、Varnish 側にキャッシュがない場合は 数値2 が存在せず Varnish のキャッシュではなくバックエンドに問い合わせを行なってからそのコンテンツを配送したことを意味します。

その為、この箇所を見るだけで Varnish のキャッシュが効いているかを確認することができます。

【お勧め】リバースプロキシ関連の記事

No Comments - Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *

*