0

我希望您能帮助我澄清我的清漆设置中的这个 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 的浏览器访问我的网站,所以我不明白为什么会发生 gunzips。

我在 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;
            }
        }
...

我的 Varnish 行为正确吗?这是正常行为吗?

4

1 回答 1

2

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

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

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

于 2013-11-06T14:49:31.220 回答