Fastblog: Schritt 3 – Varnish-Plugins für WordPress und GeoIP Probleme bei Piwik

Im Projekt “Fastblog” aka “Wir machen unseren WordPress Blog schneller” haben wir nun Varnish installiert/konfiguriert und die Plesk-Konfig so geändert, dass alles zusammen spielt. Das war der schwere Teil. Nun bringen wir WordPress bei mit dem Cache zusammen zu arbeiten und diesem zu verkünden, wenn was geändert wurde.

Diese Aufgabe ist schnell erledigt, man installiert sich das Plugin “Better WP Varnish”. Das wird von bit51 bereit gestellt, die auch sonst viele Tips und Tutorials für WordPress am Start haben. Im WordPress Plugin Directory findet man es auch. Installieren wie jedes Plugin, dann die sparsamen Settings einstellen und fertig. better-varnish Das PlugIn wird nun dafür sorgen, dass WordPress Änderungen an Inhalten an den Varnish meldet. Dieser löscht die entsprechend geänderten Seiten aus seinem Cache und lädt sie beim ersten Request neu vom Apachen. Damit lässt sich eine lange Lebenszeit im Cache realisieren, da geänderte Inhalte ja immer neu generiert werden. Diese Automatik ist auch der Punkt, an dem andere Software scheitert. Dann muss man mit entsprechend kürzerer Speicherzeit leben oder manuell die Inhalte aus dem Cache löschen. Natürlich funktioniert das Ganze nicht so einfach, wie es hier aussieht. Eine Webseite besteht nämlich aus mehr als dem HTML-Quelltext. Unzählige Ressourcen wie Bilder und CSS werden neben der eigentlichen Seite ausgeliefert. Diese werden nicht so einfach mitgelöscht. Bei größeren Änderungen am Inhalt, Theme-Änderungen und Ähnlichem sollte man den ganzen Cache löschen. Der Einsatz von Googles Mod-Pagespeed kann auch einiges gerade rücken. Dazu später mehr. “Fastblog: Schritt 3 – Varnish-Plugins für WordPress und GeoIP Probleme bei Piwik” weiterlesen

Fastblog: Schritt 2 – Plesk 11.x Konfig für Varnish-Cache anpassen

Im Beitrag vorher wurde Varnish installiert und eine Konfig erstellt, die auf WordPress passen sollte. Nun geht es darum, die Konfig-Templates von Plesk 11.x so anzupassen, dass der Varnish zwischen dem NGinx und dem Apache läuft. Entsprechend der Konfig dann Seiten vom Apache abfragt oder eben aus dem eigenen Cache beantwortet.

Plesk auf vServer oder Root-Server bietet jede Menge Vorteile, zwingt den Nutzer aber auch, gewisse Freiheiten bei der Konfiguration des Servers auf zu geben. Als Beispiel werden die Apache- und NGinx-Konfigurationen aus der Datenbank in Templates gefüllt. Um hier eine permanente Änderung zu platzieren, muss man direkt die Templates ändern. Immerhin gibt einen Zauber, der diese Anpassungen vor unabsichtlichen Zerstörungen durch Updates von Plesk schützt. “Fastblog: Schritt 2 – Plesk 11.x Konfig für Varnish-Cache anpassen” weiterlesen

Fastblog: Schritt 1 – Varnish installieren / WordPress Konfig

Am Beispiel meines außerordentlich leistungsstarken Root-Servers soll gezeigt werden, wie man Varnish installiert und anschließend auch konfiguriert. Speziell ist hier eine vHost-Konfiguration, die Regeln sollen am Ende nur auf eine Domain angewendet werden. Die anderen Domains werden auch durch den Varnish geschickt, aber ohne spezielle Konfig. Weiß gar nicht genau, was da passiert… Piwik und all das geht jedenfalls noch. Schätze das wird 1:1 durch geleitet. Also, los geht’s. “Fastblog: Schritt 1 – Varnish installieren / WordPress Konfig” weiterlesen

Experiment: WordPress mit Varnish

Operation “Fastblog”

Man sollte sich nichts vormachen, WordPress ist langsam. Durch diverse PlugIns kann man das ins Unerträgliche steigern. Das ist mir gelungen. Jetzt hat man wie immer im Leben mehrere Optionen.

  1. Man verwendet schnellere Software bzw. macht seine eigene Software schneller
  2. Man behandelt die Symptome, nicht die Krankheit
  3. Man gibt einen Rattenfurz drauf und lässt es wie es ist

Beliebt bei eigener Software wäre 1. Leider ist WordPress ein fertiges Stück Software, wo man als Einzelner nur sehr beschränkt Einfluss auf die Entwicklung nehmen kann, ohne nervige PlugIns ist WordPress auch nicht so sehr langsam. Die Kombination macht es. Auf all die netten Features will ich aber auch nicht verzichten. Option 3 hab ich erfolgreich genutzt. Nun war mal die Option 2 am Plan. Ergebnis ist eine halbwegs arbeitende Konfiguration in einem Sandwich-Stack aus Apache->Varnish->NGinx mit Automatischem PURGE im Varnish und einigen anderen Features. Resultat:

  • Ohne Varnish: Time to first byte: 10s, Seite erscheint nach 15s (Werte die man eh komplett vergessen kann!)
  • Mit Varnish: Time to first byte: 295ms, Seite erscheint nach 1,2s (Externe Inhalte müssen halt geladen werden)

Folgendes tat ich. “Experiment: WordPress mit Varnish” weiterlesen