无法将Varnish缓存



我们正在主办一个大型网球锦标赛网站,并试图在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,它将不再被缓存。我们必须再次清除缓存,或者打开一个专用浏览器窗口来查看缓存。

if(req.url~"^/stracing/DemoGetOOP.php")和

if(req.url~"/stracing/DemoGetOOP.php")

任何帮助都将不胜感激!

  • S

首先,我将从设置正确的缓存标头开始,我更喜欢缓存控制标头。DemoGetOOP脚本还发送一个cookie,Varnish将通过该cookie传递缓存。

我建议查看Varnish日志,这将让您清楚地了解为什么Varnish决定缓存或不缓存。

在我看来,它们运行得很好,第一个链接的ttl为120秒,第二个链接的ttl为10秒,两者都运行得很不错。

我想说,当事情似乎不起作用时,一定要仔细检查饼干。

最新更新