2012-11-14 93 views
4

我正在尋找通過Google Analytics收集頁面加載速度的數據,並希望在已返回具有HIT清漆緩存的頁面和已隱藏緩存的頁面之間對其進行拆分。跟蹤Varnish在Google Analytics中的點擊率和未命中數?

在研究這個之前,我只是假設我會讓JS看看頁面響應中的varnish標題,並創建一個GA自定義var來在每個頁面上跟蹤它。當然,JS無法訪問頁面標題,所以我目前處於虧損狀態。我已經使服務器端GA跟蹤工作成爲過去(通過php-ga),但這需要與真實世界的頁面加載時間相匹配。

回答

1

只是一個想法,但你可以在「vcl_deliver」子例程中設置一個cookie。事情是這樣的:

sub vcl_deliver { 
    if (obj.hits > 0) { 
      set resp.http.Set-Cookie = "VarnishHit=Yes;Path=/;"; 
    } 
return (deliver); } 

這基本上是說:如果OBJ有超過一重擊,設置cookie這樣說。你需要確保你不會寫任何其他的cookies,所以如果你使用的是cookies,也許只是把它和你現有的Set-Cookie連接起來。有關obj.hits更多信息請看: https://www.varnish-cache.org/docs/3.0/reference/vcl.html

這裏是一個重要的行:

obj.hits 次對象已交付的大致數量。值爲0表示緩存未命中。這個變量也可以在vcl_deliver中找到。

這將使您可以使用document.cookie變量從JavaScript內訪問此信息。我相信jQuery有一些插件可以讓這個更容易,下面是我發現的:Google上的https://github.com/carhartl/jquery-cookie。一旦你可以在JS中檢查cookie的存在,你應該可以使用GA API來記錄一個事件。我希望有所幫助。

+0

看起來不錯,感謝這:) –

相關問題