O verniz não parece estar em cache

4

Eu configurei um espelho de cache Varnish para ficar na frente de um servidor de arquivos, mas parece que ele está descarregando dados do meu servidor de arquivos sem parar.

Há cerca de 100 GB de dados no total, mas até agora o Varnish já baixou 800 GB do meu servidor de arquivos.

Estou usando o arquivo VCL padrão que vem com o Varnish e os cabeçalhos de resposta dos arquivos atendidos pelo servidor de arquivos são semelhantes aos seguintes:

HTTP/1.1 200 OK
Cache-Control: max-age=290304000, public
Content-Type: image/jpeg
Expires: Wed, 29 Dec 2010 21:38:33 GMT
Server: Microsoft-IIS/7.0
E-Tag: "8b4723296ab697530768f18b1378b269"
Content-Disposition: inline; filename=image046.jpg;
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Thu, 23 Dec 2010 05:38:33 GMT
Content-Length: 100592

Estou começando o verniz com as seguintes opções:

varnish/sbin/varnishd -a 0.0.0.0:80 -f varnish/etc/varnish/default.vcl -s file,varnish/var/lib/varnish/varnish_storage.bin,100G
    
por anonymous coward 23.12.2010 / 06:43

1 resposta

3
sub vcl_recv {
    if (req.url ~ "\.(cur|gif|jpg|jpeg|swf|css|js|flv|mp3|mp4|pdf|ico|png)(\?.*|)$") {
      unset req.http.cookie;
      unset req.http.Accept-Encoding;
      unset req.http.Vary;
    }
}

Se seus pedidos contiverem cookies, eles serão passados para o backend por padrão. Remover a codificação e variar normalizará as coisas um pouco mais, para que você não precise manter algumas cópias de suas imagens no cache. Além disso, acho que o 100G pode ser um pouco excessivo para a sua loja de apoio, você pode considerar algo mais próximo da quantidade de RAM que você tem na máquina.

    
por 25.12.2010 / 09:50