Der Server Cache ist der Sammelbegriff für alle Zwischenspeicher, die auf dem Server selbst liegen. Gemeint ist keine einzelne Einrichtung, sondern eine Reihe von Ebenen, die an verschiedenen Stellen Arbeit abkürzen.
- Server Cache
Der Sammelbegriff für alle Zwischenspeicher, die auf dem Server selbst liegen.
Beispiel: „Der Server Cache war nach dem Umzug leer, und die ersten Aufrufe dauerten entsprechend lang.“Auch: serverseitiger Cache. Die Anbieter benutzen den Begriff unterschiedlich; welche Ebenen gemeint sind, steht selten im Angebot.
Erste Ebene, der übersetzte Programmcode: PHP wird bei jedem Aufruf aus Textdateien in eine maschinennahe Form gebracht. Diese Form wird behalten, und damit entfällt der größte Teil der Startarbeit.
Zweite Ebene, der Objektcache: einzelne Abfrageergebnisse, die mehrfach gebraucht werden.
Dritte Ebene, der Seitencache: die fertig zusammengesetzte Seite.
Vierte Ebene, der vorgeschaltete Dienst: Ein Reverse Proxy liefert die Antwort aus, bevor die Anwendung überhaupt startet.
Was ein Server Cache einspart
Je weiter vorn eine Ebene greift, desto mehr Arbeit fällt weg. Der übersetzte Programmcode spart Millisekunden bei jedem Aufruf, der Objektcache die einzelne Abfrage, der Seitencache den gesamten Aufbau einer Seite, und der vorgeschaltete Dienst spart den Start der Anwendung.
In Zahlen heißt das für eine gewöhnliche Website: Eine berechnete Seite braucht einige hundert Millisekunden, dieselbe Seite aus dem Seitencache wenige. Das ist der größte Einzelgewinn an der Server-Antwortzeit, den eine Website ohne Umbau erreichen kann.
Was ein Server Cache voraussetzt
Arbeitsspeicher und eine Regel, wann eine Kopie verfällt. Der übersetzte Programmcode braucht wenig, der Objektcache kann viel brauchen, und wo der Speicher knapp wird, verdrängen neue Einträge die alten.
Dazu gehört die PHP-Version, denn der Übersetzungsspeicher wird mit ihr geliefert und eingestellt. Bei Shared Hosting entscheidet darüber der Anbieter, und mehr als die Einstellungen im Kundenbereich gibt es dort nicht.
Wo ein Server Cache schadet
Überall, wo eine Antwort für einen bestimmten Menschen gilt. Ein Warenkorb, ein angemeldeter Bereich und jede Seite mit Namen darin gehören vom Seitencache ausgenommen, sonst bekommt der nächste Besucher fremde Inhalte zu sehen.
Der zweite Fall betrifft die Redaktion. Wo das Bearbeiten im Frontend läuft oder eine Vorschau gebraucht wird, muss der angemeldete Zustand am Zwischenspeicher vorbeigeführt werden. Das ist ein Punkt für die Abnahme und ergibt sich nicht von selbst.