Hilfe
Buchgenerator (deaktivieren)

Varnish Web Beschleuniger

Aus Wiki Thomas-Krenn.AG
Wechseln zu: Navigation, Suche

Varnish ist ein Web Beschleuniger (Reverse Proxy), welcher Entlastung für die eigentlichen Webserver (das Backend) schafft. Er wurde im Gegensatz zu herkömmlichen Proxies (z.B. Squid) von Grund auf nur für diesen Einsatz entwickelt.

Die Webseite des Projekts findet sich hier: http://www.varnish-cache.org

Inhaltsverzeichnis

Installation

Varnish ist Teil von Debian Squeeze (Version 2.1.3), Ubuntu Natty (2.1.4) und Ubuntu Precise (3.0.2). Aufgrund einer Syntax-Änderung der Konfiguration (2.0.6->2.1.x) wird empfohlen gleich mit einer Version >= 2.1.x zu starten. Für Debian Lenny existieren neuere Varnish Pakete auf http://backports.debian.org, doch generell wird gleich der Einsatz von Debian Squeeze empfohlen. Die direkte Installation von Varnish aus einem Repository erfolgt wie gewohnt mit:

apt-get install varnish

Für RedHat Enterprise Linux (RHEL/CentOS) gibt es Pakete im Extra Packages for Enterprise Linux (EPEL) Repository unter http://fedoraproject.org/wiki/EPEL. Für RHEL 4 und RHEL 5 ist die Varnish Version aufgrund der Konfigurationsänderung dort auf 2.0.6 eingefroren, ab RHEL 6 gibt es bereits die 2.1.x Version im EPEL Repository. Für RHEL 5 finden sich direkt im Varnish Repository aktuelle Binaries: http://repo.varnish-cache.org/redhat/varnish-2.1/el5/.

Mehr Details zur Installation finden sich hier: http://www.varnish-cache.org/docs/2.1/installation/index.html

Konfiguration

Es gibt eine eigene Konfigurationssprache namens VCL (Varnish Configuration Language). Mit dieser wird der Varnish Cache konfiguriert, danach in Binärcode übersetzt und für die ankommenden Web Requests ausgeführt. Falls die zu beschleunigende Webseite Cookies verwendet, muss auf alle Fälle die Standard Konfiguration von Varnish angepasst werden und für bestimmte URL-Pfade oder Dateitypen Cookies entfernt werden. Erst dadurch werden überhaupt Daten von Varnish gecached.

Auch wenn eine Seite hauptsächlich dynamischen Content beinhaltet, könnten fast immer Bild-, Stylesheet- und Javascript-Dateien gecached werden. Außerdem können auch dynamischen Seiten gecached werden. Dies funktioniert mit Edge Side Includes (ESI). Dadurch wird durch spezielle "<esi:include ..."> Tags festgelegt, welche Inhalte einer Webseite sich dynamisch verändern können und wie lange diese gecached werden sollen.

Der Varnish Daemon selbst wird meist über eine eigene distributionsspezifische Datei angepasst.

Darin wird unter anderem Festgelegt auf welcher IP und Port der Varnish lauschen soll und ob flüchtiger Speicher (Typ "malloc") oder persistenter Speicher (Typ "file") verwendet werden soll.

Sehr hilfreich bei der Einführung eines Reverse Proxies kann auch das Apache Modul rpaf sein. Details dazu finden Sie im Artikel Apache mod_rpaf.

Als Einstieg bietet sich das Varnish Tutorial an: http://www.varnish-cache.org/docs/2.1/tutorial/index.html

Tiefergehende Details findet man im Wiki: http://www.varnish-cache.org/wiki/

Statistik

Varnish beinhaltet einige Statistik Tools.

Mittels varnishhist lässt sich grafisch anzeigen, wie viele Requests Cache Hits darstellen und wieviele ans Backend weitergereicht werden. Außerdem sieht man auf der x-Achse die jeweiligen Antwortzeiten in Sekunden (Bsp: 1e-1 -> 0,37 Sekunden, 1e-5 -> 0,0067 Sekunden)

Varnishhist.png


Mittels varnishstat lassen sich detailierte Zugriffsstatistiken anzeigen. Interessant vorallem die Cache-Hit Rate.

Varnishstat.png

Weitere Informationen


Share/Save/Bookmark  Feedback zu diesem Artikel geben
Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Kategorien
Drucken/exportieren
Werkzeuge