WordPress und varnish

WordPress und varnish

Diesen Beitrag schrieb ich 8 Jahre und 11 Monate zuvor; die nachfolgenden Ausführungen müssen heute weder genau so nach wie vor funktionieren, noch meiner heutigen Meinung entsprechen. Behalte das beim Lesen (und vor allem: beim Nachmachen!) bitte stets im Hinterkopf.

Geschätzte Lesezeit: 1 Minute

Es ist nicht so einfach, WordPress mit varnish zu verheiraten; WordPress schickt bei jedem Aufruf Session-IDs mit, was das Caching aus dem Stand heraus unmöglich macht.

Man kann sich behelfen, indem man diese (ohnehin überflüssigen) Sessions wegschmeißt; tut man das jedoch generell für die gesamte Seite, kann man sich ins Admin-Interface wp-admin nicht mehr einloggen. Und auch die Vorschau von sich in Arbeit befindlichen Artikeln funktioniert dann nicht mehr, und… achja… ;) Ich habe nun eine ganze Weile an einer Konfiguration getüftelt, die sowohl für mich als auch für meine Besucher so komfortabel wie möglich ist, und die HIT-Raten sind inzwischen bemerkenswert: recht stabil bei 70% und oftmals deutlich darüber. Meine aktuelle Konfiguration – und es ist ganz sicher nicht die letzte Version davon – habe ich nun auf GitHub gepackt, da ich immer wieder auf das Thema angesprochen werde. Benötigt sind die (eher übersichtliche) /etc/default/varnish und die (recht umfangreiche) /etc/varnish/default.vcl.

Der Host ist übrigens ein winzigkleiner VPS mit 1GB RAM; er ist, trotz steigender Zugriffszahlen, vergleichsweise idle, da ich die MySQL-Konfiguration ebenfalls ein wenig frisiert habe, so dass auch hier viel aus dem Cache geholt wird, und zugleich varnish die meisten HTTP-Anfragen (auf Port 80) beantwortet und nur wenige an apache (Port 8080) durchreichen muss.

Wie gestaltet ihr das Tuning auf euren Servern? Oder erschlagt ihr auftretende Probleme lieber mit Hardware?

Alle Bilder dieser Seite: © Marianne Spiller – Alle Rechte vorbehalten
Hintergrundbild: Bild genauer anschauen – © Marianne Spiller – Alle Rechte vorbehalten

Eure Gedanken zu „WordPress und varnish“

Ich freue mich über jeden Kommentar, es sei denn, er ist blöd. Deshalb behalte ich mir auch vor, die richtig blöden kurzerhand wieder zu löschen. Die Kommentarfunktion ist über GitHub realisiert, weshalb ihr euch zunächst dort einloggen und „utterances“ bestätigen müsst. Die Kommentare selbst werden im Issue-Tracker und mit dem Label „✨💬✨ comment“ erfasst – jeder Blogartikel ist ein eigenes Issue. Über GitHub könnt ihr eure Kommentare somit jederzeit bearbeiten oder löschen.