Varnish Cache第一次命中

时间:2011-09-15 07:50:52

标签: varnish

我在专用服务器上运行清漆。当我加载页面时,它通过Apache传递,然后在第二次和随后的点击中通过Varnish Cache传送(即我可以在X-Varnish标题中看到两个时间戳)。

但是,当我从其他计算机打开同一页面时,它再次从后端(apache)传送,并且在进一步重新加载时它来自Varnish。

如果页面已经在Varnish Cache中,那么它是否应该首次通过Varnish传送,即使是在新计算机上?我已经尝试过简单的hello world php文件而没有任何数据库调用具有相同的效果。我的vcl文件可能有问题,或者Varnish只是以这种方式工作?

2 个答案:

答案 0 :(得分:1)

检查您是否发送会话数据(cookie),然后看起来像对varnish的唯一调用。文档向您展示如何剥离cookie。

答案 1 :(得分:1)

乔是对的。我有类似的问题。您还需要在测试前清理cookie和缓存。检查是否第一次访问响应头,它尝试设置cookie。如果是这样,你可以在vcl_fetch下“取消设置beresp.http.Set-Cookie。