web-dev-qa-db-ja.com

Varnish / Pressflowがコンテンツを有効な方法でキャッシュしているかどうかを判断する方法

最近、D6サイトの1つをVarnish/Pressflowに変換しましたが、平均読み込み速度が非常に穏やかに向上しました(以前の550ミリ秒から現在の450ミリ秒まで)。しかし、私はまた、一連のテストにおける最初のロードの初期ロード時間が一貫してはるかに長く、約1000msであることに気付きました。同じテスト中の後続のリロード中に、これらはすぐに450ミリ秒に低下します。

これは私が何かを間違って設定したと私に思わせ、(匿名の)ユーザーが問題のページに既にアクセスした後までVarnishはキャッシュから提供されません。おそらく、セッションIDが原因で、各セッションが互いに独立してキャッシュされるようになっています(ただし、Pressflowで匿名ユーザーに対しては発生しないはずですが)。

X-Varnishヘッダーは、最初のページの読み込みとその後の読み込みの両方に表示されるため、コンテンツが少なくともVarnishを通過していることがわかります。

Varnishキャッシュの一部に関する詳細を取得する方法はありますか(たとえば、キャッシュページが作成されたときなど)、特定のページを提供していますか? varnishlogによって生成されたログを調べてみましたが、「X-Drupal-Cache:HIT」のさまざまな外観は別として、何を探すべきかわかりません。

3
anschauung

以下は、Google Chrome=を使用し、ネットワークでWebページの応答を検査しているときに表示されるテキストです。最後の行を確認してください。2つの数値X-Varnish:1125490268 1125489929

Varnishを設定する前に問題があり、すべてがうまくいっているようでしたが、X-Varnishに存在する番号が1つだけであることに気付きました。修正すると、2つの数値が表示され、応答時間が500ミリ秒から45ミリ秒に減少しました。

それが途中であなたを助けることができることを願っています。

Request URL:http://www.somepage.com/
Request Method:GET
Status Code:200 OK
Request Headersview source
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Host:www.somepage.com
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/28.0.1500.52 Chrome/28.0.1500.52 Safari/537.36
Response Headersview source
Accept-Ranges:bytes
Age:230
Cache-Control:public, max-age=900
Connection:keep-alive
Content-Encoding:gzip
Content-Language:en
Content-Length:6411
Content-Type:text/html; charset=utf-8
Date:Tue, 30 Jul 2013 08:03:13 GMT
Etag:"1375164849-1"
Expires:Sun, 19 Nov 1978 05:00:00 GMT
Last-Modified:Tue, 30 Jul 2013 06:14:09 +0000
Server:Apache
Vary:Cookie,Accept-Encoding
Via:1.1 varnish
X-Drupal-Cache:HIT
X-Generator:Drupal 7 (http://drupal.org)
X-Powered-By:PHP/5.3.10-1ubuntu3.6
X-Varnish:1125490268 1125489929
3
Pontus Nilsson