Wordpress 如何检查清漆缓存是否正常工作?

Wordpress 如何检查清漆缓存是否正常工作?,wordpress,caching,nginx,varnish,varnish-vcl,Wordpress,Caching,Nginx,Varnish,Varnish Vcl,我在运行Nginx的Wordpress网站上使用Varnish缓存。它的配置方式如中所述。它正在工作,但我不确定它是否真的在为缓存中的内容提供服务 如何确定?有人能给我引路吗。我是新手 Varnish默认情况下会将头添加到它处理的任何请求的响应中。您可以使用Firebug等浏览器工具或curl或GET等CLI工具查看响应头。下面是一个GET示例: sudo apt-get install libwww-perl && GET -Used http://localhost:6081

我在运行Nginx的Wordpress网站上使用Varnish缓存。它的配置方式如中所述。它正在工作,但我不确定它是否真的在为缓存中的内容提供服务


如何确定?有人能给我引路吗。我是新手

Varnish默认情况下会将头添加到它处理的任何请求的响应中。您可以使用Firebug等浏览器工具或curl或GET等CLI工具查看响应头。下面是一个GET示例:

sudo apt-get install libwww-perl && GET -Used http://localhost:6081/index.html
要查找的两个标题是X-Varnish和Age。X-Varnish将包含一个或两个数字,这些数字本身并不重要,但它们指的是请求。如果请求导致未命中,Varnish将从后端获取页面,响应中的X-Varnish标头包含当前请求的一个编号:

X-Varnish: 107856168
下次请求同一页面时,可能会导致命中。如果确实如此,Varnish将从缓存中获取页面,并添加原始请求中的数字:

X-Varnish: 107856170 107856168
Age标头表示缓存副本的保存时间。如果未命中,则为0,如果命中,则为>0


请注意,后端可以设置age头,使其看起来像一个错误的命中,并且堆叠的Varnish可以在X-Varnish头中产生错误的未命中。为了绝对确保在调试时,您可以在VCL命中和未命中函数中添加自己的头。有关说明,请参阅本页。作为一名新手,您最需要的是X-Varnish和Age头。

最好在vcl的不同点添加您自己的X头,这样您就可以对vcl的各种代码路径和条件进行单元测试

例如,在vcl_交付中:

sub vcl_deliver
{
    # Insert Diagnostic header to show Hit or Miss
    if (obj.hits > 0) {
        set resp.http.X-Cache = "HIT";
        set resp.http.X-Cache-Hits = obj.hits;
    }
    else {
        set resp.http.X-Cache = "MISS";
    }

    ...
}

查看响应标题,它们会告诉您Varnish是否工作,以及请求是否来自其缓存。不要使用isvarnishworking.com-它在大多数情况下都会显示“Nope”,即使一切正常。此外,wget、wbox或开发人员工具显示的标题与本网站显示的不同。这是一个非常容易误导的工具。谢谢你的回答。centos呢?我尝试了这段代码,我的代码在标题中显示X-Cache未命中。那就是说我的清漆坏了?但当我停止服务时,我的网站就关闭了。所以Varnish在某种程度上起作用了,但没有缓存。有什么建议吗?谢谢如果您只有一个varnish服务器,没有负载平衡器,那么在重试一次之后,您应该在头X-Cache中“命中”。