我希望你的帮助澄清我的清漆设置上的这个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;
}
}
...
我的清漆表现正常吗?这是正常行为吗?
答案 0 :(得分:2)
Gunzip很便宜,所以我不担心你的流量水平。
如果这是Varnish 3.0服务器,您可以安全地删除vcl_recv中的Accept-Encoding清理。这将由Varnish本人在幕后完成。
至于根本原因,我的猜测是这是您的服务监控探针忘记设置Accept-Encoding: gzip
。您的探测URL(首页/ favicon / probe.txt)存储在Varnish中的gzip-ed中,这些重复检查会使您的gzip速率发生偏差。