Anzeige
Smartes Cloud Hosting für anspruchsvolle Projekte.
↬ Loslegen und Spaces testen ↬ Jetzt testen!
Adrian Bechtold 12. März 2013

Varnish – Kostenloser Cache-Server der Extraklasse beschleunigt Ihre Website

Komplexe Webanwendungen und eine hohe Anzahl an Aufrufen bedeuten den Tod für viele Webserver. Bei jedem Aufruf muss der Web- und Datenbankserver viele Daten richtig zusammenstellen, um die Webseite letztlich als HTML-Code auszuliefern. Immer häufiger werden statische Inhalte in einem Cache für eine gewisse Zeit zwischengespeichert. Diese Funktionalität wird meist schon standardmäßig in der Webanwendung implementiert – für die bis zu 1000-fache Beschleunigung jedoch braucht es mehr.

Anzeige

varnish_speed_up

Varnish – schnell installiert und schon in der Grundkonfiguration brauchbar

Varnish – eigentlich hört es sich eher nach einem Reinigungsmittel als nach schneller Cache-Software an. So falsch ist der Eindruck auch gar nicht, denn Varnish bedeutet übersetzt „Lack“ und den verleiht er auch der Webanwendung. Die Entwickler sprechen von einer 300-fachen bis maximal 1000-fachen Beschleunigung. Dabei konzentriert sich die Anwendung im Gegensatz zu vielen anderen Cache-Servern auf HTTP, was wiederum der Nutzer deutlich merkt. Dabei ist der Einstieg absolut einfach.

Anzeige

Voraussetzung für die Nutzung von Varnish ist ein Webserver mit Linux, was wohl Standard sein dürfte. Root-Rechte sind nur zur Installation notwendig. Varnish hält den Cache aus Gründen der Schnelligkeit im RAM, weshalb davon ebenfalls ausreichend verfügbar sein sollte. Ein absolutes Minimum gibt es zwar nicht – aber 2 Gigabyte schaden mit ein bisschen Luft nach oben auch bei einem kleineren Projekt nicht.

Für die Installation hält das Projekt schon fertige Pakete bereit.

Ubuntu

curl http://repo.varnish-cache.org/debian/GPG-key.txt | sudo apt-key add -
echo "deb http://repo.varnish-cache.org/ubuntu/ precise varnish-3.0" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo apt-get install varnish

CentOS/Fedora

rpm --nosignature -i http://repo.varnish-cache.org/redhat/varnish-3.0/el5/noarch/varnish-release-3.0-1.noarch.rpm
yum install varnish

Das war es eigentlich schon. Der Cache sollte ohne Fehlermeldung installiert sein. Nur er funktioniert noch nicht. Immer noch liefert unser Apache bzw. jeder andere Webserver die Seiten aus. Dabei soll doch in Zukunft der Cacheserver die Seiten ausliefern und nur manchmal auf den Webserver im Hintergrund zugreifen.

Das ist schnell geändert. Die Hauptkonfigurationsdatei ist unter /etc/default/varnish abgelegt. Notwendig ist nur, die Kommentare „DEAMON_OPTS“ zu entfernen, dass die Konfiguration dort so aussieht:

DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"

Im zweiten Schritt muss noch in der Datei default.vcl unter /etc/varnish/default.vcl festgelegt werden, wo der Webserver läuft. Es kann ein interner Webserver angesprochen werden, aber auch externe Webserver können entlastet werden – damit wird Varnish als exklusiver Cache-Server erst möglich.

backend default {
.host = "127.0.0.1";
.port = "8080";
}

Webmastern wird auffallen, dass der Webserver auf dem Port 8080 läuft. Dies dürfte allerdings in den meisten Fällen nicht den Tatsachen entsprechen. Deshalb muss nun der Webserver dahingehend konfiguriert werden, dass er auf dem Port 8080 läuft. Beim Apache befindet sich die Konfiguration in der Datei /etc/apache2/ports.conf.

NameVirtualHost 127.0.0.1:8080
Listen 127.0.0.1:8080

Wichtig: Auch in der vhost-Konfigration muss statt dem Standard-Port 80 ab sofort 8080 stehen, da sonst Apache nicht richtig funktionieren wird.

So weit, so gut. Nun müssen lediglich noch Apache und Varnish neugestartet werden und alles sollte schon im Standard absolut flüssig funktionieren. Sie werden sehen: Varnish ist einfach extrem schnell, damit auch für größere Projekte eine echte Empfehlung. Die noch dazu absolut kostenlose Software ist immer einen Blick wert, bevor es um  die Anschaffung zusätzlicher Hardware geht. Der Cache spart nämlich deutlich Rechenaufwand und macht so einen Teil der Hardware überflüssig. Für punktgenaue Anpassungen hält die Webseite der Entwickler eine umfangreiche Dokumentation bereit.

Bildquelle: Éole via photopin cc

(dpe)

Adrian Bechtold

arbeitet als Kommunikationsberater für IT-Unternehmen und bloggt gerne über Webtechnologien.

2 Kommentare

  1. Es sollte „nun der“ heißen, nicht nunder. Danke für den Hinweis. Ansonsten will ich gern mal auf die auf G+ sehr intensiv geführte Diskussion zum Thema verweisen:

    https://plus.google.com/u/0/b/103443335248647770600/103443335248647770600/posts/VHV5Yr3eKtC

  2. Hi,
    kurzer Themenschwenk: Nach der 4. Codeabschnitt steht: nunder. Muss unser heißen ;)

    Ansonsten ist bei mir noch die Frage vorhanden ob ihr das Programm selbst getestet habt? Ist es wirklich deutlich schneller? Gibt es Probleme wegen nicht aktuellen Webseiten oder werden Webseiten schnell aktualisiert?

    MfG Stephan

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.