Best Practices für die Inhaltsübermittlung

Diese Seite enthält Best Practices zur optimierten und schnelleren Inhaltsbereitstellung mit Cloud CDN. Die Themen sind in mehrere zentrale Bereiche unterteilt.

Cloud CDN verwendet HTTP(S)-Load-Balancing als Ursprung für Cache-fähige Inhalte. Über einen externen HTTP(S)-Load-Balancer kann Nutzern eine Kombination aus statischen und dynamisch erstellten Inhalten zur Verfügung gestellt werden. Dies erfolgt über eine globale IP-Adresse der folgenden Back-End-Typen:

Aufgrund der nahtlosen Einbindung in Google Cloud haben Sie mehrere Möglichkeiten, Cloud CDN bereitzustellen und Inhalte zu verwalten. Sie können die hier aufgeführten Best Practices nutzen, um Ihre Bereitstellung zu planen und zu optimieren. Weitere Informationen finden Sie unter Cloud CDN verwenden.

Cache-Trefferquote optimieren

Einige empfohlene Vorgehensweisen helfen, die Cache-Trefferquote zu optimieren.

Statische Inhalte im Cache speichern

Als Best Practice zur Verbesserung der Leistung müssen Sie beim Aktivieren von Cloud CDN den richtigen Cache-Modus für Ihre Anwendung auswählen.

Die flexibelste und allgemein bevorzugte Methode zum Verwalten von Cache-Regeln ist die Verwendung des Headers "Cachesteuerung". Wenn Sie derzeit nicht mit der Verwendung von Ursprungs-Cachesteuerungsheadern vertraut sind, empfiehlt es sich, Cloud CDN zu erlauben, statische Inhalte automatisch im Cache zu speichern.

Wenn Sie statische Antworten von Ihrem Ursprung automatisch im Cache speichern möchten, können Sie die Einstellung --cache-mode=CACHE_ALL_STATIC verwenden (Standard). Mit dieser Einstellung kann Cloud CDN gängige statische Inhaltstypen im Cache speichern. Achte darauf, dass dein Inhalt den angegebenen Kategorien entspricht. Andernfalls wird er nicht im Cache gespeichert.

Nutzerspezifische Inhalte nicht im Cache speichern

In einigen Fällen können Browser nutzerspezifische Inhalte im Cache speichern. Verwenden Sie Cloud CDN nicht, um nutzerspezifische Inhalte im Cache zu speichern.

Benutzerdefinierte Cache-Schlüssel zur Verbesserung der Cache-Trefferquote verwenden

Für eine höhere Leistung und Skalierbarkeit ist es wichtig, die Cache-Trefferquote zu optimieren. Cloud CDN nutzt standardmäßig die vollständige Anfrage-URL, um den Cache-Schlüssel zu erstellen. Zur Optimierung der Cache-Trefferquote kannst du benutzerdefinierte Cache-Schlüssel verwenden, damit Cloud CDN den Cache nicht unnötig fragmentiert.

Cloud CDN-Schlüssel-Wert-Datenbank
Cloud CDN-Schlüssel/Wert-Paar

Mit benutzerdefinierten Cache-Schlüsseln können Sie eine beliebige Kombination von Protokoll, Host und Abfragestring ein- oder ausschließen. Hier sind einige Beispiele für die Verwendung von benutzerdefinierten Cache-Schlüsseln:

  • Sie haben zwei Hosts, die in dieselbe IP-Adresse aufgelöst werden und zum selben Dienst gehen. In diesem Beispiel ist die gesamte Website auf den beiden Hosts identisch. Standardmäßig speichert Cloud CDN aufgrund des unterschiedlichen Headers Host: in den HTTP-Anfragen zwei Kopien im Cache. Mit einem benutzerdefinierten Cache-Schlüssel können Sie Cloud CDN dazu veranlassen, den Hostteil der Anfrage zu ignorieren und die Cache-Einträge freizugeben.

  • In einem genaueren Beispiel haben Sie zwei Websites in verschiedenen Domains mit demselben Logo. Der Inhalt der Website ist unterschiedlich, aber Sie verwenden das gleiche Firmenlogo für beide Domains und Sie haben einen dedizierten Back-End-Dienst mit freigegebenen Inhalten. Wenn Sie für den Back-End-Dienst, der das Logo enthält, Cloud CDN aktivieren und die Cache-Schlüssel anpassen möchten, müssen Sie das Häkchen im Kästchen Host entfernen. Der Cache ignoriert dann die Domain, speichert aber das Logo.

  • Ein Logo muss im Cache gespeichert werden, unabhängig davon, ob es über HTTP oder HTTPS angezeigt wird. Wenn du die Cache-Schlüssel für den Back-End-Dienst mit dem Logo anpasst, entferne das Häkchen aus dem Protokoll, damit Anfragen über HTTP und HTTPS als Übereinstimmungen für den Cache-Eintrag des Logos zählen.

Wie Sie Cache-Schlüssel anpassen, können Sie unter Cache-Schlüssel verwenden herausfinden.

Leistung optimieren

Einige empfohlene Vorgehensweisen helfen, die Leistung zu optimieren.

Unterstützung der Protokolle HTTP/3 und QUIC muss aktiviert sein

HTTP/3 ist ein Internetprotokoll der nächsten Generation. Es baut auf QUIC auf, einem Protokoll, das aus dem ursprünglichen Google QUIC-Protokoll (gQUIC) entwickelt wurde. HTTP/3 wird zwischen dem externen HTTP(S)-Load-Balancer, Cloud CDN und Clients unterstützt.

Um die Leistung mit Cloud CDN zu steigern, muss HTTP/3 aktiviert sein.

Negatives Caching verwenden

Negatives Caching ermöglicht eine präzise Steuerung des Caching auf häufig auftretende Fehler oder Weiterleitungen. Wenn Cloud CDN auf bestimmte Antwortcodes stößt, wird die Antwort im Cache für eine festgelegte TTL aufbewahrt. Dies kann die Belastung Ihrer Ursprünge reduzieren und die Nutzererfahrung verbessern, da die Latenz der Antworten reduziert wird.

Sicherheit optimieren

Einige empfohlene Vorgehensweisen helfen, die Sicherheit zu optimieren.

Google Cloud Armor verwenden

Google Cloud Armor kann in Cloud CDN sowohl für im Cache gespeicherte Inhalte als auch für nicht im Cache gespeicherte Inhalte oder Inhalte mit Cache-Fehlern eingebunden werden. Eine Best Practice besteht darin, Google Cloud Armor nach Möglichkeit in Verbindung mit Cloud CDN zu verwenden, um die Sicherheit von Webanwendungen zu erhöhen.

Signierte URLs verwenden

Wenn Sie signierte URLs verwenden, beachten Sie Folgendes:

Cache optimieren

Cache-TTLs optimieren

Sie können die TTLs festlegen oder überschreiben, um zu optimieren, wie lange Cloud CDN Ihre Antworten im Cache speichert und wann Cloud CDN Ihre Antworten neu validiert.

Sie können auch eine clientseitige TTL definieren, um die Browser-Caches optimal zu nutzen.

Weitere Informationen finden Sie unter TTL-Einstellungen und -Überschreibungen verwenden.

Ablaufzeit für zeitkritischen Inhalt festlegen

Jedes Inhaltselement in einem Cloud CDN-Cache ist mit einer Ablaufzeit verknüpft. Legen Sie daher eine Ablaufzeit fest, die zu Ihrem Anwendungsfall passt. Da Ursprungsserver auf dem Cache-Server abgelaufene Inhalte noch einmal senden müssen, ist es wichtig, dass Sie die Ablaufzeit sorgfältig auswählen.

Eine Methode für die Auswahl der Ablaufzeit ist, Inhalte danach zu kategorisieren, wie oft der entsprechende Inhalt aktualisiert wird. Beispiel:

  • Nahezu in Echtzeit stattfindende Aktualisierungen, zum Beispiel Live-Feeds für Sportereignisse oder Verkehr
  • Häufige Aktualisierungen, z. B. wöchentliche, tägliche oder stündliche Wetterdaten oder Bilder auf Titelseiten von Nachrichtenportalen
  • Selten aktualisierte Elemente, z. B. Website-Logos, CSS- oder JavaScript-Dateien

Wählen Sie anschließend die Ablaufzeit nach der Inhaltskategorie aus. Eine Ablaufzeit von 5 Sekunden eignet sich beispielsweise für Sportergebnisse in Echtzeit, während für Wetteraktualisierungen eine Ablaufzeit von einer Stunde verwendet werden kann. Für Inhalte, die in Cloud Storage gespeichert sind, legen Sie die Ablaufzeiten mithilfe von Cache-Control-Metadaten fest. Wenn Inhalte von Compute Engine bereitgestellt werden, bestimmen Sie die Ablaufzeiten, indem Sie Ihre Webserversoftware konfigurieren.

Ablaufzeiten werden durch die Werte max-age und s-maxage im Cache-Control-Header angegeben. Dieser Header wird durch die HTTP-Spezifikation definiert. Die folgenden Einstellungen im Cache-Control-Header machen beispielsweise die damit verbundenen Inhalte mit einer Ablaufzeit von 72 Stunden (259.200 Sekunden) öffentlich lesbar und cachefähige:

  Cache-Control: public, max-age=259200

Folgen Sie zur Maximierung des Cachings den Richtlinien in der Caching-Übersicht. Denken Sie daran, dass die Werte max-age und s-maxage im Metadatenfeld Cache-Control auf folgende Weise interagieren:

  • Die Werte max-age und s-maxage werden in Sekunden gemessen.
  • Der Wert s-maxage gilt nur für freigegebene Caches, nicht für Browser-Caches.
  • Der Wert max-age gilt für alle Caches, sofern er nicht von s-maxage überschrieben wird.

Für Inhalte, die nur selten geändert werden oder die sich zusammen mit anderen Inhalten ändern müssen, ist es oft sinnvoll, eine lange Ablaufzeit in Kombination mit versionierten URLs zu verwenden.

Verwenden Sie versionierte URLs zur Aktualisierung von Inhalten

Bei Verwendung von versionierten Inhalten wird eine andere Version der gleichen Inhalte vom Server angeboten. Dabei werden die älteren Inhalte entfernt und dem Nutzer werden die neuen Inhalte angezeigt, bevor die Speicherdauer im Cache abgelaufen ist. Die Versionsverwaltung ist kostenlos und einfach zu verwenden. Sie sollte daher standardmäßig für die Aktualisierung von cachefähigen Inhalten genutzt werden.

Um Inhalte zu versionieren, fügen Sie der URL einen Parameter (beispielsweise eine Versionsnummer) hinzu. Es gibt verschiedene Möglichkeiten, Parameter in URLs einzubinden, z. B:

  • Abfragestring hinzufügen: file.ext?v=100.

    Bei Back-End-Buckets müssen alle für die Versionsverwaltung verwendeten Abfragestrings in der Konfiguration für den Back-End-Bucket angegeben werden. Weitere Informationen finden Sie unter Abfragestring-Einschlussliste für Cloud Storage-Cache-Schlüssel.

  • Dateinamen ändern: file.1.0.0.ext oder file_v100.ext.

  • Dateipfad ändern: /v100/file.ext.

Wenn Sie den Parameter hinzufügen, ändern Sie den Namen der Datei und die URL. Bei dieser Änderung wird erzwungen, dass der Cache vorhandene Einträge ignoriert.

Entwertung zum Entfernen von Inhalten sparsam verwenden

Entwertung entfernt Inhalte aus den verteilten Cache-Servern von Cloud CDN, bevor der Cache-Eintrag abläuft. Die Entwertung ist letztendlich konsistent.

Wir empfehlen Ihnen, die Entwertung sparsam und nur als letztes Mittel zu verwenden. Entwertung ist beispielsweise dann nützlich, wenn Sie Inhalte aus rechtlichen Gründen oder aufgrund eines versehentlichen Uploads entfernen müssen. Andernfalls empfehlen wir, wenn möglich die Versionsverwaltung zu nutzen oder zu warten, bis der Inhalt normal abläuft. Cloud CDN-Cache-Server bereinigt regelmäßig Inhalte, auf die selten zugegriffen wird, um Platz für neue Inhalte zu schaffen. Inhalte, auf die 30 Tage lang nicht zugegriffen wurde, werden bedingungslos entfernt.

Cache-Entwertungen sind ratenbegrenzt.

Weitere Informationen zur Entwertung finden Sie unter Cache-Entwertung.

Monitoring und Logging optimieren

Logging für Cloud CDN muss aktiviert sein

Eine Best Practice für die Verwaltung von Cloud CDN besteht darin, Logging für alle Cloud CDN-fähigen Back-Ends zu aktivieren.

Benutzerdefiniertes Monitoring-Dashboard für Cloud CDN verwenden

Um für eine hohe Zuverlässigkeit und Leistung zu sorgen, sollten Sie regelmäßig Monitoring-Messwerte im Zusammenhang mit Cloud CDN prüfen. Ein guter Ausgangspunkt ist das benutzerdefinierte Monitoring-Dashboard für Cloud CDN.

Leistungstests von Drittanbietern prüfen

Lesen Sie Berichte von Drittanbietern, z. B. Berichte zur Verfügbarkeit, Latenz und zum Durchsatz von Citrix Radar.