清漆似乎不是caching

我已经build立了一个清漆caching镜像坐在文件服务器前,但似乎是无休止地从我的文件服务器重新下载数据。

总共有大约100GB的数据,但是到目前为止,Varnish已经从我的文件服务器上下载了800GB的数据。

我使用Varnish附带的默认VCL文件,文件服务器提供的文件的响应头类似于以下内容:

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 

我开始清漆使用以下选项:

 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 

 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; } } 

如果您的请求包含cookie,默认情况下它们将被传递到后端。 删除编码和改变将会使事情更规范一些,这样您就不需要在caching中保留一些图片的副本。 另外,我认为100G对于你的后备商店可能有点过分,你可能会考虑一些更接近机器内存的东西。