Was ist der Cache und wie beeinflusst er die Performance von Servern?
Ein Cache bezeichnet einen Zwischenspeicher für Daten, die von einem Betriebssystem oder einem Programm erstellt oder mehrfach angefordert werden. Dabei handelt es sich entweder um eine lokale Datei oder um einen begrenzten Platz im Arbeitsspeicher (RAM), in denen ein Computer temporär Informationen ablegt, um auf diese schneller zugreifen zu können. Dabei handelt es sich um unterschiedliche Formate, die von laufenden Prozessen über Datenbanken bis zu extrahierten Archiven reichen können. Der Cache gilt als Standardinstrument - er kommt bei einem Desktop PC, auf Virtuellen oder dedizierten Servern, unter verschiedenen Betriebssystemen und teilweise ebenfalls speziell für einzelne Programme zum Einsatz.
Welche Aufgabe hat ein Cache Speicher?
Generell besitzt der Cache die Aufgabe, Daten zu speichern, die in einem absehbaren Zeitraum benötigt werden. Bei einem Desktop PC zählen dazu beispielsweise Informationen wie etwa die Resultate von Rechenoperationen, Variablen, Programme und Archive. Der Vorteil dieses Vorgehens liegt in der höheren Geschwindigkeit, mit der ein Computer Operationen durchführen kann, weil der Cache die Ladezeiten optimiert. Zum Beispiel steht dadurch bei wiederkehrenden Aufgaben die Lösung unmittelbar zur Verfügung, ohne dass der Computer Ressourcen für die Berechnung verbraucht. Der Cache entscheidet mit seiner Geschwindigkeit und Größe maßgeblich über die Performance eines Computers. Diese variiert stark nach dem Speichermedium, das er nutzt - den Arbeitsspeicher (RAM), eine SSD oder eine langsame HDD.
Wofür dient der Cache bei Webseiten?
Bei einer Webseite verwendet sowohl der Server wie auch der Client einen eigenen Cache. Beide dienen demselben Zweck: einen möglichst raschen Seitenaufbau zu ermöglichen. Um eine maximale Geschwindigkeit zu erreichen, beinhaltet der Cache einzelner Programme - ob Browser wie Firefox und Chrome oder Server wie Apache 2 oder NGINX - unterschiedliche Informationen, darunter:
- Einträge des Domain Name Systems (DNS) zur Auflösung von Adressen
- Eingebundene Inhalte einer Webseite wie Bilder, Videos oder interaktive Elemente
- Skripte und Konfigurationen zur Darstellung - z. B. HTML-Code oder CSS-Stylesheets
- Datenbanken für die Unterscheidung von Nutzern anhand fester Kriterien - etwa Geoblocking
- Source Code für dynamische Webseiten - meist PHP Skripte
- Globale Konfigurationen zu der Webseite
- Externe Programme oder Teile derer kompilierten Routinen, z. B. MySQL oder MariaDB Server beziehungsweise deren Schnittstellen
Ein Webserver wie NGINX oder Apache speichert zudem bereits durch den PHP-Interpreter verarbeiteten Code im Cache, falls dieser universell und nicht nutzerspezifisch angewendet werden kann. Bei identischen Anfragen verwendet der Server diese Vorlagen und muss lediglich bestimmte, individuelle Elemente - zum Beispiel den Warenkorb in einem Onlineshop - separat verarbeiten.
Wie arbeitet ein Cache?
Ein Cache beinhaltet Daten, die in der Vergangenheit bereits benötigt oder errechnet wurden. Greift ein Programm Apache 2, NGINX oder der Firefox Browser auf Daten zu und verwendet dieses einen Zwischenspeicher, startet es zunächst eine Anfrage, ob diese bereits vorliegen. Sind die Ressourcen vorhanden, ergibt diesen einen Treffer (Hit) und die Informationen werden ohne Umwege geladen. Sind diese noch nicht vorhanden (Miss), lädt sie das Betriebssystem aus dem Internet beziehungsweise von dem Laufwerk oder ein Programm wie ein PHP-Interpreter erzeugt diese zum Beispiel über eine MySQLi Abfrage. Benötigt die Software in einer festgelegten Zeit (Time to Live, TTL) ein zweites Mal diese Daten, kann sie die gespeicherten Routinen, Dateien oder Ergebnisse nutzen, statt ein zeitaufwendiges, erneutes Laden vorzunehmen.
Wieso profitieren Server von einem großen Arbeitsspeicher?
Ein dedizierter Linux Server oder vServer versucht stets, den Arbeitsspeicher möglichst vollständig zu nutzen, um die Zugriffszeiten zu reduzieren und die Rechenleistung des Prozessors optimal zu nutzen. Bei Webseiten mit zahlreichen Nutzern bewirkt ein großer Cache im Arbeitsspeicher deshalb, dass die meisten benötigten Informationen nahezu unverzüglich zur Verfügung stehen. Darüber hinaus muss dieser zusätzlich alle Daten zu den einzelnen Verbindungen und nicht zuletzt des Betriebssystems speichern. Diese lagert das Betriebssystem bei geringen freien Ressourcen auf Bereiche des Laufwerks aus, die den Arbeitsspeicher ergänzen. Wegen der höheren Zugriffszeiten sinken die positiven Wirkungen des Effekts allerdings deutlich ab - es ist deshalb erstrebenswert, stets den gesamten Cache im Arbeitsspeicher zu lagern.
Foto: John Howard auf Pixabay
Schreibe einen Kommentar
- Performance
Tags zu diesem Artikel
Weitere Webhoster
Weitere interessante Artikel
Lazy Loading - Was steckt dahinter?
Die Ladezeiten einer Webseite sollten so gering wie möglich sein. Wie genau kann Lazy Loading dabei helfen?
Time To First Byte erklärt: So lässt sich TTFB messen und verbessern
Dieser Artikel bietet einen umfassenden Einblick in die Bedeutung von TTFB und zeigt praktische Wege auf, wie diese Metr...
Ladezeit beim Webhosting - Informationen, Tools und Tipps
Immer häufiger sind Ladezeiten ein heiß diskutiertes Thema, wenn es um Webhosting und Internetseiten geht. Warum die Lad...
Webseite nicht zu erreichen - Ursachen und Maßnahmen
Wer für längere Zeit eine eigene Webseite betreibt, der wird früher oder später mit einer Downtime konfrontiert werden. ...
Was ist der Varnish Cache und was sind die Vorteile?
Wir zeigen euch wie der Varnish Cache eure Website beschleunigen kann.
PHP Version 7 und Geschwindigkeit
Bereits vor über einem Jahr, im Dezember 2015 ist die Skriptsprache PHP in der neuen Version 7 erschienen. Da die Implem...
Im Jahr 2006 riefen wir hosttest ins Leben, um den Webhosting Markt im DACH-Raum transparenter zu machen. Mit derzeit über 400 Webhostern und über 10.000 Angeboten bieten wir dir die beste Grundlage, den für dich passenden Anbieter für Hosting-Leistungen zu finden.
Seit 2015 küren wir zudem alljährlich unsere Webhoster des Jahres und würden uns in Zukunft auch über deine Stimme freuen.
Mehr über uns...