+49 (0)32 221 096 223

Was ist Caching?

Durch Caching wird bei der Optimalisierung Ihrer Website eine enorme Geschwindigkeitszunahme erreicht. Eine schnelle Ladezeit ist Gebrauchsfreundlich und wird daher auch von Google zur Erstellung der Rankings genutzt. Doch was ist Caching eigentlich? Wo und wann wird es genutzt? Wer ist verantwortlich für das Caching für mich als Nutzer oder Verwalter einer Website?

All dies besprechen wir in diesem Artikel.

WAS IST CACHING?

Caching kann gesehen werden, als das Speichern von oft genutzten Daten, an einem leicht zu erreichenden Ort. Das englische Wort ‚cache‘ bedeutet im deutschen ‚Zwischenspeicher‘. Vergleichen kann man es mit einem Klempner. Dieser hat in seinem Fahrzeug immer die häufig genutzten Verbindungsstücke und Rohre liegen. Das ist sehr viel Effizienter, als pro Teil zurück zum Geschäft fahren zu müssen um diese zu holen.

WIE FUNKTIONIERT DIES FÜR WEBSITES?

Öffnet jemand eine Website, wird diese Anfrage durch den Webserver an WordPress weitergeleitet. Hier werden einige Schritte durchlaufen, bevor die Website wiedergegeben werden kann.

Das Abholen und Zusammenstellen der Website kostet Kapazität auf dem Server. Bei hohen Besucheranzahlen, kann dies zu einer großen Belastung des Servers führen, wodurch wir Geschwindigkeitseinbußen erleben.

Das Zusammenstellen wird für jeden Aufruf derselben Seite erneut ausgeführt, wodurch WordPress dieselbe Seite immer wieder aufs Neue zusammenstellen muss. Besuchen zwei verschiedene Nutzer die Seite abc.de/xyz.php, wird diese auch zweimal zusammengestellt.

Das ständige Zusammenstellen derselben Informationen (auf Ihrer WordPress Seite) können wir mit Caching vermeiden. Durch Caching speichern wir das Resultat (oder Teile des Resultats) an einer temporären Stelle auf, wodurch es besser erreichbar ist, wenn es zum zweiten oder drittenmal aufgerufen wird.

Beim ersten Besucher der Seite abc.de/xyz.php muss die Seite komplett Zusammengestellt werden. Danach wird diese an den Nutzer geschickt und in der Cache gespeichert. Der zweite Besucher auf abc.de/xyz.php kann die Seite nun schneller aus der Cache holen und profitiert von schnelleren Ladezeiten.

WO WIRD CACHING ANGEWANDT?

Technisch gesehen kann man Caching an vielen Orten nutzen. Im Allgemeinen geschieht dies jedoch auf Seiten des Servers oder des Besuchers (also des Browsers).

Außerdem können Sie komplette Seiten cachen (pagecaching) oder nur Teile einer Seite (opcode oder database caching).

Das untenstehende Schema gibt Ihnen eine Übersicht zu den möglichen Caching Optionen innerhalb des kompletten Stacks.

 

Caching layers
Zum vergrößern anklicken

Logischerweise gilt, je näher am Besucher das Caching stattfindet, desto schneller erfährt dieser die Website.

Pagecache Lage eins: Browsercache

Die erste Lage wird lokal auf dem System des Nutzers gecached, worduch der Inhalt nicht über das Internet abgerufen werden muss. Diese Methode ist bei weitem die schnellste. Obwohl das Caching der ersten Lage beim Nutzer liegt, kann durch die Hosting-Umgebung entschieden werden, welche Teile gecached werden.

Gute Hoster werden beim ersten Aufruf der Website einen maxage, etag oder notmodifiedsince header inklusive eines Zeitwertes mitschicken. Der Browser kann hiermit erkennen, wie lange er eine Seite speichern und somit nicht erneut den Inhalt über das Internet abholen muss.

Pagecache Lage drei: Plug-Ins

Pagecaching in den unteren zwei Lagen werden in WordPress durch Caching Plug-Ins wie beispielsweise W3TotalCache oder WPsupercache ausgeführt.

Diese Caching-Methoden können für einen Geschwindigkeitsgewinn sorgen, befinden sich jedoch in großem Abstand zum Besucher. Es muss also immer erst WordPress gestartet werden, bevor die Cache gefüllt oder an den Nutzer zurückgegeben werden kann.

Überschlagen wir nicht eine Lage?

Gut beobachtet! Wir haben eine Lage ausgelassen. Lage zwei wird wenig genutzt und ist für den Verwalter einer Website am schwierigsten zu regeln.

Lage zwei ist eine Reverse Proxy Cache, wie beispielsweise Varnish Caching. Diese Form des Caching befindet sich noch vor dem Webserver auf welchem WordPress steht und bildet den ersten Kontakt zum Computer des Besuchers.
Wenn ein Besucher eine Seite in WordPress öffnet, wird das Ergebnis hiervon im Caching Proxy gespeichert und an den Benutzer zurück gegeben. Jeder weitere Besucher derselben Seite, wird direkt das Ergebnis aus Caching Proxy empfangen. WordPress muss hierfür nicht angesprochen werden.

IST CACHING IMMER MÖGLICH?

Caching ist nicht immer sinnvoll. Besonders wenn es für unterschiedliche Besucher auch unterschiedliche Elemente gibt, die angezeigt werden müssen. Das beste Beispiel hierfür ist ein Webshop mit Einkaufswagen, der auf jeder Seite ersichtlich ist. Der Einkaufswagen ist pro Besucher anders und muss individuell angezeigt werden. Jede Seite mit Einkaufswagen kann also nicht aus der Cache kommen.

BESONDERE FORMEN DES CACHING

Neben den beschriebenen Formen des Cachings für ganze Seiten, können auch andere Dinge gecached werden. Beispielsweise Datenbanken und Opcode. Dies sind kleinere Objekte, die zum Zusammenstellen der ganzen Website genutzt werden. Können Sie also nicht die ganze Website cachen, beispielweise aufgrund eines Einkaufswagens, können Sie häufig kleinere Objekte cachen. Zum Erhalt der Übersicht haben wir diese Möglichkeit nicht ins Schema aufgenommen.

DATABASE CACHING

Beim Database Caching werden die Ergebnisse von häufig genutzten Database queries gespeichert. So muss die Database beispielsweise nicht jedes Mal erneut nach den letzten zehn Beiträgen in chronologischer Reihenfolge suchen, sondern diese werden im Cache gespeichert und sind somit schneller zugänglich.

OPCODE CACHING

Viele CMS-Systeme (auch WordPress) sind in der Sprache PHP geschrieben. Bevor ein Server hiermit etwas anfangen kann, muss PHP erst in eine Sprache übersetzt werden, die der Server versteht. Der übersetzte Code von PHP wird ‚Opcode‘ genannt und wird bei opcode caching im Speicher des Servers gesichert. Die Übersetzung bleibt erspart, wodurch es einen Geschwindigkeitsgewinn gibt.

WAS PASSIERT MIT NEUEN INHALTEN?

Nehmen wir an, dass Sie einen Blogbeitrag publizieren. Natürlich möchten Sie, dass dieser direkt auf Ihrer Homepage sichtbar ist. Doch was passiert, wenn Ihre Seite im Caching Proxy oder im Cache von W3TotalCache gespeichert ist?

Ihre Besucher werden nicht den neusten Beitrag sehen, sondern die Version, die in der Cache gespeichert ist. Nun ist es wichtig, Ihre Cache zu leeren, sodass der neue Inhalt für jeden ersichtlich ist.

Zum Leeren der Cache gibt es viele Möglichkeiten, die jedoch pro Methode unterschiedlich sind. Manchmal gibt es einen Button, mit dem Sie die Cache einfach und schnell leeren können. Oft ist das Leeren der Cache an Ihre Beiträge gekoppelt. Publizieren Sie einen neuen Beitrag, wird die Cache automatisch durch WordPress geleert (dies nennt man einen ‚hook‘).

WER IST VERANTWORTLICH FÜR DAS CACHING MEINER WEBSITE?

Abhängig vom Caching Ort können Sie das Caching selbst in die Hände nehmen oder Ihren Hoster für das Caching verantwortlich machen. Im Allgemeinen haben Sie durch Plug-Ins wie W3TC selbst die Möglichkeit Browsercaching und Pagecaching zu verwenden.

Die schnelleste Lage nach Browsercaching, das Reverse Proxy Caching, ist eine Technik, die durch Ihren Hoster in der Architektur aufgenommen werden muss. Bei Savvii nutzen wir die Reverse Proxy Cache Varnish, um Ihre Website zu beschleunigen.

In diesem Beitrag habe ich versucht, eine übersichtliche Erklärung zum Caching zu geben. Haben Sie weitere Fragen? Hinterlassen Sie uns gerne eine Reaktion!

Kommentar

(nicht dargestellt)
(nicht dargestellt)
* Erforderliche Felder

Zurück zur Übersicht

Wir arbeiten mit:

  • rackspace_savvii
  • New Relic
  • nginx_savvii
  • Varnish
  • Mandrill
  • Freshdesk