Varnish scheint nicht zu cachen

Varnish scheint nicht zu cachen

Ich habe einen Varnish-Cache-Mirror vor einem Dateiserver eingerichtet, aber es scheint, als würden Daten endlos erneut von meinem Dateiserver heruntergeladen.

Insgesamt sind es etwa 100 GB Daten, aber bisher hat Varnish 800 GB von meinem Dateiserver heruntergeladen.

Ich verwende die Standard-VCL-Datei, die mit Varnish geliefert wird, und die Antwortheader für vom Dateiserver bereitgestellte Dateien ähneln den folgenden:

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

Ich starte Varnishd mit den folgenden Optionen:

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

Antwort1

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

Wenn Ihre Anfragen Cookies enthalten, werden diese standardmäßig an das Backend weitergeleitet. Durch das Entfernen der Kodierung und Variation wird alles etwas normalisiert, sodass Sie nicht mehrere Kopien Ihrer Bilder im Cache aufbewahren müssen. Außerdem denke ich, dass 100 GB für Ihren Backing Store etwas übertrieben sein könnten. Sie könnten etwas in Betracht ziehen, das näher an der RAM-Menge liegt, die Sie in Ihrem Computer haben.

verwandte Informationen