我正在Nginx上运行的Wordpress网站上使用Varnish Cache。它已按照this blog中提到的方式进行配置。它正在工作,但是我不确定它是否实际上在从缓存中提供内容。
如何确定?有人可以指导我吗?我是Varnish缓存的新手。
最佳答案
默认情况下,Varnish会将 header 添加到它处理的任何请求的响应中。您可以使用浏览器工具(如Firebug)或CLI工具(如curl或GET)查看响应 header 。这是一个GET示例:
sudo apt-get install libwww-perl && GET -Used http://localhost:6081/index.html
要查找的两个 header 是X-Varnish和Age。 X-Varnish中将包含一个或两个数字,数字本身并不重要,但它们是指请求。如果请求导致未命中,则Varnish从后端获取页面,并且响应中的X-Varnish header 包含当前请求的一个数字:
X-Varnish: 107856168
下次请求相同页面时,可能会导致匹配。如果是这样,Varnish将从缓存中获取页面,并从原始请求中添加数字:
X-Varnish: 107856170 107856168
Age header 说明了缓存的副本有多少秒。如果未命中,则为0;如果命中,则为> 0。
请注意,后端可以设置age header ,使其看起来像是错误命中,而堆叠的Varnishes可能在X-Varnish header 中产生错误的未命中。要绝对确定调试时,可以在VCL命中和未命中函数中添加自己的 header 。请参阅此页面以获取https://www.varnish-software.com/static/book/VCL_functions.html的描述。作为Varnish的新手,您很可能需要X-Varnish和Age header 。
关于wordpress - 如何检查Varnish缓存是否正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20747210/