Cache Miss und Cache Hit: Wann sie auftreten (und wie man die Cache Hit Ratio erhöht)

Veröffentlicht: 2022-05-04

Die Leistung Ihrer Website ohne eine solide Caching-Richtlinie zu optimieren, ist wie der Versuch, ein Haus auf Treibsand zu bauen.

Sie können die besten Materialien und Werkzeuge verwenden, aber wenn Ihr Fundament nicht felsenfest ist, werden Sie immer das Gefühl haben, dass etwas Ihren Fortschritt behindert.

Ihre Caching-Richtlinie ist das Rückgrat der außergewöhnlichen Web-Performance Ihrer Website. Wenn Sie über ein geeignetes Caching-System verfügen, können Sie die Geschwindigkeit Ihrer Website drastisch verbessern.

Umgekehrt führen die Anfragen Ihrer Besucher ohne ein gut funktionierendes Caching-Setup zu Cache-Fehlschlägen, was wiederum die Ladezeit Ihrer Seite verlangsamt.

Und Cache Miss ist nur eines der Themen, die in den folgenden Zeilen zusammen mit behandelt werden:

  • Eine kurze Einführung in das Caching;
  • Was ist ein Cache-Miss?;
  • Was ist ein Cache-Hit?;
  • Was ist die Cache-Trefferquote und wie wird sie berechnet?;
  • Was ist eine gute Cache-Trefferquote?;
  • Wie erhöhe ich die Cache-Trefferquote?;
  • NitroPack - der einfachste Weg zu einer hervorragenden Cache Hit Ratio.

Lass uns anfangen!

Eine kurze Einführung in das Caching

Bevor Sie in die Welt der Cache-Hits und Misses eintauchen, ist es wichtig zu verstehen, wie Caching funktioniert, welchem ​​Zweck es dient und warum es als die beste Strategie zur Geschwindigkeitsoptimierung gilt.

Um das Caching zu verstehen, müssen wir einen Schritt zurücktreten und den gesamten Prozess verfolgen, der hinter den Kulissen abläuft, wenn ein Besucher Ihre Website anfordert.

Ihre Website besteht aus HTML-Dokumenten, JavaScript- und CSS-Dateien, Bildern usw. Sie werden alle auf Ihrem Ursprungsserver gespeichert. Wenn jemand Ihre Website besuchen möchte, sendet sein Browser eine Anfrage an Ihren Ursprungsserver, der wiederum eine Antwort mit allen erforderlichen Dateien zurücksendet.

Wie das Internet funktioniert

Wenn Sie 10 Besucher haben, die gleichzeitig die Dateien Ihrer Site anfordern, sollte es kein Problem geben, und Ihr Server kann sie ziemlich einfach handhaben.

Dieses Modell funktioniert jedoch nicht, wenn 100.000 Besucher Ihre Website besuchen möchten.

Server haben ein Limit, wie viele Anfragen sie gleichzeitig verarbeiten können, und jede Anfrage nach diesem Limit wird in eine Warteschlange gestellt, was zu längeren Ladezeiten für Ihre Besucher führt.

Warteschlange

Da kommt Caching ins Spiel.

Kurz gesagt, Caching ist der Vorgang des Speicherns einer Kopie Ihrer Website-Daten (HTML, CSS, JS, Bilder usw.) an einem anderen Ort namens Web-Cache.

Der Webcache spielt die Rolle eines Vermittlers zwischen Benutzern und Ihrem Ursprung. Auf diese Weise werden ihre Anfragen aus dem Cache bedient und nicht von Ihrem Server abgerufen.

Caching

Infolgedessen werden Ihre Seiten viel schneller geladen.

Sie können zahlreiche Arten von Caching-Klassifizierungen finden. Aber für den Zweck dieses Artikels und um zu verstehen, wann Cache-Hits und -Misses auftreten, werfen wir einen Blick auf die beiden beliebtesten Arten – Browser- und Proxy-Caching.


Browser-Caching

Jeder Browser hat seine eigene Caching-Richtlinie und kann Daten lokal auf dem Computer eines Benutzers speichern.

Das ist nützlich, weil es das Laden einer zuvor besuchten Seite blitzschnell macht. Tatsächlich ist das Browser-Caching der Hauptgrund, warum die Zurück- und Vorwärts-Schaltflächen ihre Wirkung entfalten können.

Browser-Caching

Leider ist das Browser-Caching auf den Betrieb pro Gerät beschränkt. Aber sein größter Vorteil ist, dass es ganze Netzwerkanfragen speichern kann, was es zu einem Must-Have macht.


Proxy-Server-Caching

Proxy-Caching trägt dazu bei, die Belastung des Servers zu verringern und relativ schnellere Inhalte für Endbenutzer bereitzustellen. Im besten Fall arbeitet das Proxy-Caching Hand in Hand mit dem Browser-Caching.

Proxy-Server sind auf der ganzen Welt verteilt. Sie werden in der Regel von CDN-Anbietern (Content Delivery Network) gepflegt.

Proxys sind Vermittler zwischen dem Benutzer und Ihrem Ursprungsserver. Sie können sie verwenden, um Inhalte an verschiedenen Orten zwischenzuspeichern, und auf diese Weise sind Ihre Inhalte näher an den Benutzern, wodurch Latenz und Netzwerkverkehr reduziert werden:

Mit CDN

Im Gegensatz zum Browser-Caching ist das Caching von Proxy-Servern nicht pro Gerät beschränkt und kann gleichzeitig Inhalte für mehrere Benutzer bereitstellen.

Das ist das Wesentliche beim Caching. Es ist ein nuanciertes Thema, und es gibt noch viel mehr zu entdecken - Vor- und Nachteile der verschiedenen Caching-Typen, wie man Caching-Regeln einrichtet und mehr.

Aber das ist nicht der Fokus dieses Artikels.

Wenn Sie tiefer in das Thema eintauchen möchten, können Sie unseren Artikel - Web Caching 101: Beginner's Guide To HTTP Caching (Examples, Tips and Strategies) lesen.

Oder sehen Sie sich unser YouTube-Video an:

Für den Moment ist es wichtig, sich daran zu erinnern, dass Verzögerungen und Probleme auftreten, wenn die angeforderten Daten nicht in Ihrem Webcache gefunden werden. Das bringt uns zu einem Cache-Miss.


Was ist ein Cache-Miss?

Ein Cache-Miss tritt auf, wenn ein System, eine Anwendung oder ein Browser anfordert, Daten aus dem Cache abzurufen, diese spezifischen Daten jedoch derzeit nicht im Cache-Speicher gefunden werden konnten.

Wenn ein Cache-Miss auftritt, wird die Anfrage an den Ursprungsserver weitergeleitet.

Sobald die Daten vom Ursprung abgerufen sind, werden sie dann kopiert und in Erwartung ähnlicher zukünftiger Anforderungen für dieselben Daten in den Cache-Speicher gespeichert.

Es gibt mehrere Gründe für das Auftreten eines Cache-Mißerfolgs.

Beispielsweise wurden die spezifischen Daten nie zwischengespeichert.

Angenommen, Sie haben eine E-Commerce-Website und haben gerade eine neue Produktseite hinzugefügt. Alle Bilder, HTML-, CSS- und JavaScript-Dateien wurden nie zum Cache-Speicher hinzugefügt, da niemand sie jemals angefordert hat. Das bedeutet, dass Ihr erster Besucher eine Anfrage an Ihren Ursprung senden muss, um die Seite zu laden. Nach der ersten Anfrage werden die Daten in den Cache übertragen und von dort aus bedient.

Eine weitere Möglichkeit für einen Cache-Miss besteht darin, dass die zwischengespeicherten Daten irgendwann entfernt wurden.

Auch hier gibt es mehrere Gründe, die zu diesem Szenario geführt haben könnten – es wurde mehr Speicherplatz benötigt, eine Anwendung hat die Entfernung angefordert oder die Time-to-Live-Richtlinie für die Daten ist abgelaufen.

Wir werden später in diesem Artikel mehr auf Time to Live eingehen.

Was auch immer der Grund sein mag, die Wahrheit ist, dass jeder Cache-Fehler zu längerer Latenz, langsamen Ladezeiten, schlechter Benutzererfahrung und unzufriedenen Besuchern führt.

Ich möchte jedoch nicht den Eindruck hinterlassen, dass Sie zu 100% Cache-Hits erzielen müssen. Das ist nicht realistisch.

Darüber hinaus gibt es einige Fälle, in denen Cache-Fehler erforderlich sind, da Sie möglicherweise sicherstellen müssen, dass die von Ihnen bereitgestellten Inhalte immer auf dem neuesten Stand sind.

Beispielsweise kann eine Nachrichten-Website wie bbc.com den Inhalt ihrer Homepage mehrmals am Tag ändern, wenn aktuelle Nachrichten gemeldet werden müssen. In diesem Fall bedeutet ein Cache-Treffer, dass ihre Leser nicht die neueste Version ihrer Website gesehen haben, bzw. - sie haben die neuesten Nachrichten verpasst.

Das Auftreten eines Cache-Miss hat also einen Vorteil.

Wenn Sie jedoch keine Nachrichten-Website haben und Ihre Inhalte nicht regelmäßig ändern, sollten Sie darauf abzielen, Cache-Misses so gering wie möglich und Cache-Hits so hoch wie möglich zu halten.


Was ist ein Cache-Treffer?

Ein Cache-Hit tritt auf, wenn die angeforderten Daten erfolgreich aus dem Cache bereitgestellt werden.

Wenn ein Benutzer beispielsweise eine Ihrer Produktseiten besucht, die ein Bild des von Ihnen verkauften Produkts anzeigen soll, sendet sein Browser eine Anfrage für dieses Bild an den Cache (Browser oder CDN). Wenn das CDN eine Kopie des Bildes in seinem Speicher hat, führt die Anfrage zu einem Cache-Treffer und das Bild wird an den Browser zurückgesendet.


Was ist eine Cache-Trefferquote und wie wird sie berechnet?

Die Cache-Trefferquote misst, wie viele Anfragen ein Cache erfolgreich aus seinem Speicher geliefert hat, im Vergleich zu der Anzahl der Anfragen, die er insgesamt erhalten hat.

Eine hohe Cache-Trefferquote bedeutet, dass die meisten Anforderungen Ihrer Benutzer vom Cache erfüllt wurden, was wiederum bedeutet, dass sie schnellere Ladezeiten erlebt haben.

Sie können Ihre Cache-Trefferquote mit dieser Formel berechnen:

Formel für die Cache-Trefferquote

Dies ist jedoch möglicherweise nicht erforderlich, da die meisten CDN-Anbieter dies für Sie berechnen.

Das Dashboard von NitroPack zeigt diese Informationen ebenfalls an:

NitroPack CHR


Was ist eine gute Cache-Trefferquote?

Als Faustregel gilt: Eine Cache-Trefferquote von 80 % und mehr ist ein gutes Ergebnis , da die meisten Anfragen aus dem Cache bedient werden.

Alles unter 80 % auf statischen Websites weist auf eine ineffiziente Caching-Richtlinie hin.

Laut Cloudflare, einem der größten CDN-Anbieter der Welt:

„Eine typische Website, die hauptsächlich aus statischen Inhalten besteht, könnte leicht eine Cache-Trefferquote im Bereich von 95–99 % haben.“

Die globale Cache-Trefferquote für NitroPack beträgt 90 %. Und ungefähr 70 % aller NitroPack-Benutzer erleben eine Cache-Trefferquote von 80 % oder höher.


Wie erhöht man die Cache-Trefferquote?

Sie können bestimmte Schritte unternehmen, um die Anzahl der Cache-Fehler zu reduzieren und somit Ihre Cache-Trefferquote zu erhöhen.

1. Richten Sie Caching-Regeln basierend auf den Anforderungen Ihrer Website ein

Mit dem Cache-Control- Header können Sie unzählige verschiedene Caching-Regeln festlegen, um die Bereitstellung Ihrer Inhalte zu optimieren.

Einige der Regeln beinhalten:

  • no-store weist Webcaches an, unter keinen Umständen eine Version der Ressource zu speichern;
  • no-cache teilt dem Web-Cache mit, dass er den zwischengespeicherten Inhalt mit dem Ursprungsserver validieren muss, bevor er ihn den Benutzern zur Verfügung stellt;
  • max-age legt die maximale Zeit (in Sekunden) fest, die der Cache die gespeicherte Ressource behalten kann, bevor sie erneut heruntergeladen oder mit dem Ursprungsserver erneut validiert wird. Danach wird der Inhalt als veraltet markiert;
  • s-maxage macht genau dasselbe wie max-age, aber nur für Proxy-Caches;
  • private teilt den Web-Caches mit, dass nur private Caches die Antwort speichern können;
  • public markiert die Antwort als öffentlich. Alle Zwischencaches können mit dieser Anweisung markierte Antworten speichern;

Header der Cache-Steuerung

Sie sollten eine Gültigkeitsdauer festlegen (wie lange der Cache Ihre Daten speichert, bevor aktualisierte Informationen vom Ursprung abgerufen werden), die am besten zu Ihren Inhalten passt.

Wenn sich ein Asset beispielsweise ungefähr alle zwei Monate ändert, kann ein Header für das maximale Alter von 50 Tagen angemessen sein. Wenn das Asset jedoch täglich geändert wird, möchten Sie möglicherweise einen No-Cache- Header verwenden.

Weitere Informationen zu Cache-Control-Headern, Cache-Frische und Validierung finden Sie in unserem YouTube-Video:

2. UTM-Parameter ignorieren

Das Ausführen mehrerer Anzeigenkampagnen (z. B. Facebook-Anzeigen, Google-Anzeigen usw.) generiert unterschiedliche URLs mit spezifischen UTM-Parametern.

Als Ergebnis haben Sie eine einzelne Seite mit mehreren Variationen (unterschiedliche UTM-Parameter), die optimiert werden müssen.

UTM-Tags

Das ist ein Problem, da jede URL-Variation als ein einzigartiges Objekt betrachtet wird und jede Anfrage an den Ursprungsserver geleitet wird.

Dementsprechend wird jede Anfrage als Cache-Miss klassifiziert, obwohl der angeforderte Inhalt im Web-Cache vorhanden war.

Dies führt zu einer unnötig niedrigeren Cache-Trefferquote.


NitroPack - Der einfachste Weg, um eine hervorragende Cache-Trefferquote zu erreichen

Nach allem, was wir behandelt haben, mag der gesamte Prozess zum Erreichen einer hohen Cache-Trefferquote etwas überwältigend klingen.

Die gute Nachricht ist, dass, wenn Sie mit einem CDN-Anbieter zusammenarbeiten, die meisten der von mir erwähnten Dinge, wie z. B. Cache-Control-Header, möglicherweise bereits für Sie erledigt sind.

Für alles andere können Sie ein Caching-Plugin verwenden.

Zum Beispiel verfügt NitroPack über sofort einsatzbereite Funktionen, die unseren Benutzern eine hohe Cache-Trefferquote garantieren. Das beinhaltet:

  • Cache Warmup simuliert organische Besuche auf Ihrer Website, was automatisch dazu führt, dass NitroPack optimierte (gecachte) Versionen Ihrer Website für Desktop- und Mobilgeräte vorbereitet.
  • Die Cache-Invalidierung markiert den zwischengespeicherten Inhalt als „veraltet“, stellt ihn aber so lange bereit, bis neu optimierter Inhalt verfügbar ist. Dadurch sehen Ihre Besucher immer optimierte Inhalte, auch wenn diese kurzzeitig veraltet sein können.
  • Integriertes CDN, wodurch Sie Ihr CDN nicht mehr mit dem Caching-Plugin Ihrer Wahl synchronisieren müssen. Das ist oft zeitaufwändig, umständlich und kann zu unerwarteten Problemen führen.
  • Eine Option zum Ignorieren von Parametern, mit der NitroPack standardmäßig einige häufig verwendete UTM-Parameter (und andere) ignorieren kann, sodass Sie sich bei der Durchführung Ihrer Marketingkampagnen keine Sorgen machen müssen.

Ignorierte Parameter

Aber du musst mich nicht beim Wort nehmen. Testen Sie NitroPack kostenlos und überzeugen Sie sich selbst von der Wirkung.