2014-02-13 153 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决定缓存或不。