2014-02-13 186 views
0

我們正在舉辦一個主要的網球錦標賽網站,並試圖在Rackspace上使用Varnish來幫助我們預測流量。我們也聘請了系統顧問幫助在我們的雲服務器上安裝Varnish,但無論出於何種原因,他們都無法使Varnish與我們的腳本一起工作。一個典型的腳本可以在這裏找到:無法清漆緩存

162.242.140.232/scoring/DemoGetOOP.php

沒有什麼特別之處腳本。它在頭文件中沒有任何特殊的緩存命令,並且不使用會話控制。您可以通過底部的日期/時間來查看我們用於測試的目的,該頁面沒有被緩存。我們建立了一個定時器,其頁面緩存:

162.242.140.232/scoring/timer.php

,也爲info.php的一頁:

162.242.140.232/scoring/info.php

奇怪的是,如果你第一次進入timer.php,你可以看到它被緩存了10秒鐘。但是,如果您運行我們的DemoGetOOP.php腳本並返回到timer.php,它將不再被緩存。我們必須再次清除緩存或打開一個私人瀏覽器窗口才能看到緩存。

如果(req.url〜 「^ /刻痕/ DemoGetOOP.php」)和

如果(req.url〜 「/scoring/DemoGetOOP.php」)

任何幫助,將不勝感激!

  • 小號

回答

0

他們似乎是工作的罰款對我來說,第一個環節都有120秒的TTL和第二鏈路具有10秒的TTL和兩者都工作得很好。

我會說,當事情似乎不工作,總是仔細檢查餅乾。

+0

嗨,當我們點擊URL:162.242.140.232/scoring/DemoGetOOP.php它不緩存。每次我們刷新頁面 - 從任何瀏覽器 - 我們都可以看到腳本底部刷新的時間。它被設置爲每隔10秒緩存一次,所以只有當我們在10秒後點擊頁面時纔會刷新時間。你看到不同的東西嗎? –

+1

是的,它對我來說緩存很好,你可能在你的瀏覽器上有一個cookie,所以請求被傳遞到後端,在私人窗口或隱身窗口中嘗試該網站 –

1

首先,我將開始設置正確的緩存標題,我寧願緩存控制標題。 DemoGetOOP腳本還會發送一個cookie,從而Varnish將通過緩存。

我會建議檢查varnishlog,這將清楚地瞭解爲什麼Varnish決定緩存或不。