清漆似乎在做很多枪口

时间:2013-10-28 10:20:44

标签: varnish varnish-vcl

我希望你的帮助澄清我的清漆设置上的这个n_gunzip。

这些是我运行几个网站的服务器的统计数据。

   34837         0.00         0.50 cache_hit - Cache hits
    1022         0.00         0.01 cache_hitpass - Cache hits for pass
    4672         0.00         0.07 cache_miss - Cache misses
    2175          .            .   n_expired - N expired objects
      85         0.00         0.00 n_gzip - Gzip operations
    3512         0.00         0.05 n_gunzip - Gunzip operations

问题是我看到了很多枪支,大约7%的命中率。我真的不相信用户会使用不支持gzip的浏览器访问我的网站,所以我无法理解为什么枪口正在发生。

我在VCL上编码的所有内容如下:

    sub vcl_recv {  
     if (req.http.Accept-Encoding) {
            if (req.http.Accept-Encoding ~ "gzip") {
                # If the browser supports it, we'll use gzip.
                set req.http.Accept-Encoding = "gzip";
            }
            else if (req.http.Accept-Encoding ~ "deflate") {
                # Next, try deflate if it is supported.
                set req.http.Accept-Encoding = "deflate";
            }
            else {
                # Unknown algorithm. Remove it and send unencoded.
                unset req.http.Accept-Encoding;
            }
        }
...

我的清漆表现正常吗?这是正常行为吗?

1 个答案:

答案 0 :(得分:2)

Gunzip很便宜,所以我不担心你的流量水平。

如果这是Varnish 3.0服务器,您可以安全地删除vcl_recv中的Accept-Encoding清理。这将由Varnish本人在幕后完成。

至于根本原因,我的猜测是这是您的服务监控探针忘记设置Accept-Encoding: gzip。您的探测URL(首页/ favicon / probe.txt)存储在Varnish中的gzip-ed中,这些重复检查会使您的gzip速率发生偏差。