Cache im BBC-Leistungsverstärker

Sep 15, 2025
wie man
A cached image of the BBC homepage featuring a selection of news headlines

Im vergangenen Jahr während einer Anwenderprüfungssitzung für die BBC News-App machte einer der Benutzer einen Kommentar, der wirklich mit mir stecken hat. Sie erklärten: "Ich fälle gerne". Ich glaube nicht, dass es eine bessere Zusammenfassung gibt, welche Leistung für unsere Nutzer bedeutet. Auf einer schnellen App oder einer Website kann der Benutzer umgehen, interagieren und mit dem Inhalt miteinandergreifen.

Fließende Erlebnisse sind auch für Site-Besitzer gut. Eine schnell fließende Erfahrung hilft Benutzern, ihre Ziele zu erreichen, und wir erreichen wiederum unsere Ziele unserer Organisationen. Amazon und andere haben den starken Link zwischen Leistung und Benutzeraktivität gezeigt: Da das Warten auf Seiten sinkt, steigt der Zeitraum und das Geld, das der Benutzer ausgibt.

Lesen Sie mehr: Nordvpn Review

Schneiden Sie den Abstand mit einem Cache

Caches werden erstellt, wenn ein kleiner Betrag von etwas näher an der Bedarf gelagert wird, worauf es nötig ist, um Nacharbeit zu verhindern. Wenn ich zum Beispiel Kegeln isst, neige ich dazu, ein paar in die Hand zu gießen und dann von dort zu essen. In der Tat schaffe ich einen Cache von Kegeln in der Hand, da es schneller ist, sie auf diese Weise zu essen, als in das Paket zurückzukehren.

Dasselbe Muster wird in der Technologie verwendet. Es gibt drei Caches, die wir berücksichtigen müssen:

  • Server-Caches: zwischengespeicherte Daten auf dem Server, z. B. die Ergebnisse der Datenbankabfragen
  • Netzwerk-Caches: Caches in das Netzwerk eingebaut, manchmal vom Standortbetreiber (als Reverse Proxy-Cache bekannt), jedoch häufiger von ISPs oder anderen Netzwerkanbietern
  • Browser-Cache: Der Browser speichert Dateien auf der Festplatte des Benutzers für die Wiederverwendung vom Benutzer

Caching kann eine große Leistungsverbesserung ergreifen; Bei der BBC habe ich das Caching gesehen, dass die Leistung mehr als 20-mal in Produktionscode erhöht. Es ist auch von Vorteil für Standortbetreiber. Mit Caching können mehr Benutzer von derselben Hardware unterstützt werden. Dies reduziert die Kosten in Hardware pro Benutzer und reduziert somit die Betriebskosten der Website.

Design mit dem Cache im Sinn

Damit es effektiv ist, möchten wir zwischengespeicherte Daten so weit wie möglich verwenden. Um die Kipples-Analogie zu verlängern, wenn ich einen blauen Kegel will, aber ich habe keine blauen Kegeln in meiner Hand (alias mein Cache), ich muss wieder in das Paket zurückkehren. Dies ist als "Trefferrate" bekannt. Es ist ein "Hit", wenn der Artikel im Cache ist, und ein "Miss", wenn es nicht ist. Wir wollen eine hohe Trefferrate, so dass der Cache den größten Teil der Last dauert.

Eine der einfachsten Methoden zur Erhöhung der Trefferrate besteht darin, die Variation zu reduzieren. Dehnen Sie meine Kegelkleinerungsanalogie ein bisschen, stellen Sie sich vor, Sie würden, wenn alle Kegelspiel rot waren. Auf diese Weise wäre jeder Kegel in meiner Hand ein Cache-Treffer; Ich würde nie zurück zum Paket zurückkehren. Anwenden in das Web, wenn wir dieselbe Seite für möglichst viele Benutzer wie möglich angeben können, wird der Cache effektiver, da mehr Anforderungen an den Cache getroffen werden.

Cache HTML für kurze Zeit

A 30-second cache of the BBC News homepage displaying regularly updated content

Die News-Homepage verwendet einen 30-Sekunden-Max-Alter-Cache-Header, um den Inhalt schnell ohne zu viel Last in den Benutzer zu erhalten

Das ist also die Theorie. Lass uns praktisch werden. Beginnen wir mit dem Betrachten, indem Sie die Anfrage des HTMLs zwischenspeichern. Die Zwischenspeicherung aller Dateitypen wird mit HTTP-Headern gesteuert. Die Header sind Metadaten (Daten zu Daten) vom Server an den Browser gesendet und für alle Netzwerkhardware dazwischen sichtbar. Um der Welt zu erzählen, hat es die Erlaubnis, unsere Seiten zu sperren und diesen Cache zwischen Benutzern zu teilen, setzen wir den folgenden Header ein:

Cache-Control: public, max-age=30

Hier haben wir auch ein Zeitlimit festgelegt: Die maximale Zeit, in der der Cache diese Seite wiederverwenden sollte, für in Sekunden. Für dieses Beispiel habe ich es auf 30 Sekunden gesetzt.

Durch Einstellen der Seite in 'Public' werden der Browser des Benutzers (und jede Hardware auf dem Weg) eine Kopie aufbewahren. Die erste Seite wird also eine Anforderung erstellt, aber alle Seitenlasten, danach die ursprüngliche Antwort wiederverwenden, bis die Frist erreicht ist.

Die Wirkung der Netzwerkhardware auf dem Weg kann tiefgreifend sein. Viele große Netzwerke (z. B. ISPs) haben einen zwischen Benutzern gemeinsam genutzten Cache. Mobile Bediener verwenden diese Technik auch stark - zum Beispiel, um Bilder zu cache und neu zu recomprimieren, die über 3G serviert werden. Standortbetreiber können auch einen HTTP-Cache vor ihrem Service aufgeben. Das ist das, was wir bei der BBC getan haben.

Cache statische Vermögenswerte für Ewigkeiten

A longer-term cache of BBC iPlayer displaying content that is updated only periodically

BBC IPlayer speichert statische Vermögenswerte für ein Jahr - Änderungen an der URL stellt sicher, dass Benutzer neue Versionen sofort sehen

Eine Technik, die wir in der BBC viel verwenden, ist die Behandlung statischer Vermögenswerte (wie Bilder, CSS und Skripts) anders, um die Seiten mit den Seiten zu behandeln. Caching HTML-Seiten für zu lange können dazu führen, dass Benutzer in Inhaltsaktualisierungen fehlen, aber wir können dieses Verhalten in Bezug auf statische Vermögenswerte nutzen.

Bei der BBC senden wir alle statischen Vermögenswerte mit einem maximal 31.536.000 Sekunden in den Cache-Header ein. Dies stellt sicher, dass die Vermögenswerte für 365 Tage zwischengespeichert werden. Tatsächlich werden die Vermögenswerte nur einmal angefordert. Dies ist gut für die Leistung, aber schlecht für Flexibilität, da Änderungen an diesem Vermögenswert lange dauern, bis zum Benutzer zu gelangen.

Um dies zu umgehen, werden wir jedes Mal, wenn wir eine neue Version einer Seite freigeben, die URL ändern, wo die Vermögenswerte aufbewahrt werden. Dieser Trick bedeutet, dass neue Änderungen sofort vor den Anwendern gestellt werden, aber wir erhalten immer noch die gleichen Leistungen.

Letzte Worte

Caching Um die Website-Leistung zu verbessern, wird wiederum niedrigere Betriebskosten für unsere Websites und den Durchfluss unseres Nutzers aufrechterhalten, was zu einer großartigen Benutzererfahrung führt.

Dieser Artikel wurde ursprünglich in Ausgabe 279 von Net, dem weltweit bester Verkaufsmagazin für Webdesigner und Entwickler der Welt veröffentlicht. Kaufen Ausgabe 279. oder Net abonnieren .

Möchten Sie andere Möglichkeiten lernen, Ihre Websites einen Geschwindigkeitsschub zu geben?

Jason Lengstorf is giving his workshop Modern Front-End Performance Strategies and Techniques at Generate New York from 25 27 April 2018

Jason Lengstorf gibt seinen Workshop moderne Front-End-Leistungsstrategien und -techniken bei Generieren von New York vom 25. April 2018

Jason Lengstorf ist Entwickler, Designer, Autor und freundlicher Bär. Sein Fokus liegt auf der Effizienz und Leistung von Menschen, Teams und Software. Bei IBM erzeugt er Prozesse und Systeme, um das Richtige das Easy Ding ™ zu machen. Zu allen anderen Zeiten wandern er die Erde auf der Suche nach neuen und besseren Snacks.

In seinem Workshop moderne Front-End-Leistungsstrategien und -techniken bei Generieren Sie New York vom 25. und 27. April 2018 Jason zeigt Besucher an, wie man die wahrgenommenen Ladezeiten verbessern kann - wie lange es anfühlt, als würde es sich anfühlen, um eine Seite zu laden - sowie tatsächliche Ladezeiten, wobei nur Front-End-Techniken verwendet werden, einschließlich:

  • Das Skelett-Lademuster
  • Besseres Laden für statische Vermögenswerte
  • Faules Laden
  • Servicearbeiter
  • Bessere Bauprozesse und mehr!

Generieren Sie New York, findet vom 25. bis 27. April 2018 statt. Holen Sie sich jetzt Ihr Ticket .

Zum Thema passende Artikel:

  • 4 Tipps zur Verbesserung der Leistung Ihrer Seite
  • 7 Expert-Tipps zum Nageln von Web-Leistung
  • 3 einfache Möglichkeiten, Ihre Website zu beschleunigen

wie man - Die beliebtesten Artikel

Verwendung von Referenzbildern: 13 Wesentliche Tipps für Künstler

wie man Sep 15, 2025

(Bildkredite: Jonathan Hardesty) Seite 1 von 2: Seite 1 Seite..


Google-Folien: So gestaltet man ein Dokument

wie man Sep 15, 2025

(Bildgutschrift: Google) Google-Folien wird immer beliebter. Da die Welt einen Schritt vom Büro entfernt und die Vor..


21 Möglichkeiten zur Verbesserung der Produktivität mit NPM

wie man Sep 15, 2025

Knoten Package Manager oder NPM kurz, sieht die Nutzung überall in der modernen JavaScript-Welt. Da es normalerweise seinen Job ..


Animieren Sie SVG mit JavaScript

wie man Sep 15, 2025

Es gibt so viel, dass im Browser mit CSS3 oder den Webanimationen API in JavaScript nativ erreicht werden kann. Einfache Animatio..


So montiere ich dein Grafik

wie man Sep 15, 2025

Eine gut ausgeführte Halterung ist mehr als nur ein anderer Kunsttechnik. zu Ihrem Werkzeuggurt hinzufügen. Es w..


3 Tipps zum Basteln von atemberaubendem Druck-Werbematerial

wie man Sep 15, 2025

In einer zunehmend digitalen Welt hat das geschickt gefertigte Druck-Werbematerial die Macht, eine ernsthafte Wirkung zu erzielen..


Erstellen Sie atemberaubende Landschaften in Houdini

wie man Sep 15, 2025

Durch die Verwendung eines knotenbasierten, prozeduralen Ansatzes bietet 3D-Software Houdini von SideFX digitale Künstler mit ei..


So kombinieren Sie die Aquarellsätze des Malers

wie man Sep 15, 2025

Corel Maler Bietet ein Bankett Aquarellwerkzeuge. Es verfügt über digitale, reale und Aquarell-Werkzeugkategorien m..


Kategorien