2013-10-28 2 views
0

Я хотел бы помочь вам прояснить этот n_gunzip на моей установке лака.Лак, кажется, делает 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; 
      } 
     } 
... 

ли мой лак ведет себя правильно? Это нормальное поведение?

ответ

2

Gunzip довольно дешево, поэтому я бы не стал беспокоиться об этом для ваших уровней трафика.

Если это сервер Varnish 3.0, вы можете безопасно удалить очистку Accept-Encoding в vcl_recv. Это будет сделано за кулисами самим лаком.

Что касается основной причины, то я предполагаю, что это ваш сервис-контрольный зонд, который забывает установить Accept-Encoding: gzip. URL-адрес вашего зонда (главная страница/favicon/probe.txt) хранится gzip-ed внутри Varnish, и эти повторные проверки искажают вашу скорость gzip.