2013-12-23 51 views
11

我在運行於Nginx上的Wordpress網站上使用了Varnish Cache。它按照this blog中提到的方式配置。它正在工作,但我不確定它是否實際上提供緩存中的內容。如何檢查清漆緩存是否正常工作?

如何確定?有人能指導我嗎?我是新的清漆緩存。

+2

看看,以響應頭,他們會告訴你,如果上光油是工作,如果請求從它的高速緩存來了。 – NITEMAN

+0

簡單的方法 - http://www.isvarnishworking.com/ – paradroid

+3

不要使用isvarnishworking.com - 即使一切正常,它大部分時間都會顯示「不需要」。另外,wget,wbox或Developer Tools顯示的標題與本網站顯示的標題不同。這是一個非常令人誤解的工具。 – GDR

回答

16

Varnish會默認爲其處理的任何請求的響應添加標題。您可以使用瀏覽器工具(如Firebug)或CLI工具(如curlGET)查看響應頭。這裏有一個GET例如:

sudo apt-get install libwww-perl && GET -Used http://localhost:6081/index.html 

兩個頭去尋找是X-光油年齡X-Varnish將包含一個或兩個數字,數字本身並不重要,但它們指的是請求。如果在未命中的請求的結果,清漆從後端擷取該網頁,並在響應在X光油頭包含用於當前請求的一個數:在同一頁被請求時,它可以在下一次

X-Varnish: 107856168 

導致一擊。如果是這樣,光油獲取從緩存的頁面,並且也從原來的請求增加的數量:

X-Varnish: 107856170 107856168 

年齡頭說緩存副本多少秒年紀。有一個錯過它將是0,並與一個命中它大於0.

請注意,後端可以設置年齡標題,這使得它看起來像一個錯誤的命中,堆積清漆可以產生錯誤的X-Varnish頭。爲了確保在調試時可以在VCL命中和未命中功能中添加自己的頭文件。請參閱此頁獲取描述https://www.varnish-software.com/static/book/VCL_functions.html。作爲清漆的新成員,X-Varnish和Age標頭最有可能是您所需要的。

+0

感謝您的回答。那麼centos呢? – qasimzee

2

在vcl的不同位置添加自己的X-header是一個好主意,這樣你可以對你的vcl的各種代碼路徑和條件進行單元測試。

例如,在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"; 
    } 

    ... 
}