Häufige CDN-Probleme und wie man sie behebt
Ein Content Delivery Network (CDN) ist eine verteilte Gruppe von Servern, die Webinhalte zwischenspeichern, um sie schnell an Endnutzer auszuliefern. CDNs können die Bereitstellung von Inhalten auf verschiedene Weise beschleunigen und die Nutzererfahrung verbessern, nicht nur durch Zwischenspeicherung, sondern auch durch Unterstützung von Video-Streaming, dynamischen Inhalten und SSL-Verschlüsselung und -Authentifizierung.
Jede Website kann von einem CDN profitieren. CDNs befinden sich zwischen Endnutzern und Ursprungsservern. Sie bearbeiten Benutzeranfragen mit allen Inhalten, die sie im Cache haben, bevor sie die Anfragen an die Ursprungsserver weiterleiten. Dadurch lädt eine Website für Benutzer schneller. Es ist ein wenig so, als ob man Lebensmittel in einem Supermarkt viel schneller kauft, als quer durchs Land zu fahren und mehrere Bauernhöfe und Fabriken zu besuchen, um seine wöchentlichen Einkäufe zu erledigen.
CDN-Fehlerbehebung: Wie man CDN-Probleme behebt
In den meisten Fällen sollte die Anmeldung für ein CDN eine Website schneller machen, Website-Betreibern helfen, Bandbreitenkosten zu sparen, die Zuverlässigkeit der Website zu verbessern und die Widerstandsfähigkeit gegen bestimmte Cyberangriffe (wie DDoS-Angriffe) zu erhöhen. Manchmal verhindern jedoch CDN-Probleme, dass Websites diese Vorteile nutzen können. Hier sind einige potenzielle CDN-Probleme, Faktoren, die sie verursachen können, und Empfehlungen zu deren Behebung.
CDN-Performanceprobleme
Eine Reihe von Problemen kann dazu führen, dass eine Website bei der Nutzung eines CDN keine Performance-Verbesserungen sieht oder sogar langsamer wird.
Fehlende globale Reichweite: Je nach verwendetem CDN kann die Performance in verschiedenen Regionen uneinheitlich sein. Stellen Sie sicher, dass Sie ein CDN verwenden, das Inhalte überall in seinem Netzwerk im Cache speichert und globale Standorte in der Nähe der Endbenutzer hat.
Probleme mit dem Ursprungsserver: Wenn das CDN die Inhalte nicht vom Ursprungsserver abrufen kann, kann es sie weder im Cache zwischenspeichern noch bereitstellen. Dies kann passieren, wenn die Ursprungsserver ausfallen oder wenn der Datenverkehr zwischen den Ursprungsservern und dem CDN in Netzwerkengpässen gerät.
Dynamischer Inhalt wird nicht vom Ursprungsserver geladen: Dynamischer Inhalt kann nicht zwischengespeichert werden, daher kann die Seite langsam laden oder gar nicht laden, wenn der Ursprungsserver nicht korrekt auf Anfragen reagiert, unabhängig vom Verhalten des CDN-Cachings. Einige CDNs — wie jenes von Cloudflare — sind mit zusätzlichen Diensten integriert, die die Bereitstellung dynamischer Inhalte beschleunigen können.
Nicht optimierte Dateien: Sehr große Inhalte oder bestimmte Dateitypen werden möglicherweise nicht im Cache gespeichert, abhängig von den Grenzen des CDN. Stellen Sie sicher, dass alle Inhalte für eine schnelle Bereitstellung und ein gutes Nutzererlebnis optimiert sind. Viele CDNs bieten Funktionen zum Optimieren, „Minifizieren“ (Verringern der Dateigröße) oder Komprimieren von Inhalten.
Render-blockierende Ressourcen: Dies sind Elemente einer Seite, die das Laden der restlichen Seite verhindern. CSS-Dateien (Cascading Style Sheet) zum Beispiel sind Ressourcen, die das Rendern blockieren. Wenn der Rest einer Seite ordnungsgemäß zwischengespeichert wird, die CSS-Dateien jedoch nicht, muss die CSS-Datei vom Webserver abgerufen werden, bevor die anderen Seitenelemente aus dem Cache bereitgestellt werden können. Dies kann die Ladezeiten der Seite verlangsamen. Stellen Sie sicher, dass render-blockierende Ressourcen im Cache gespeichert werden, oder gestalten Sie die Seite neu, sodass unnötige Ressourcen nicht enthalten sind oder zuletzt geladen werden.
Nicht zwischengespeicherte Drittanbieter-Skripte: Viele Websites integrieren Skripte von anderen Quellen; diese Quellen verwenden möglicherweise nicht dasselbe CDN. Diese Drittanbieter-Skripte können länger zum Laden benötigen, wenn ihre Ursprungsserver geografisch weit entfernt sind, nicht für die Bereitstellung optimiert oder überlastet sind. Wenn die Skripte render-blockierende Ressourcen sind, kann das die gesamte Seite verlangsamen. Verwenden Sie die Chrome-Entwicklertools, um zu beurteilen, was langsam lädt und woher es stammt. Erwägen Sie, Skripte zu ersetzen, die eine Seite ständig verlangsamen, oder verwenden Sie Skripte, die über CDNJS gehostet werden, ein kostenloses Content Delivery Network, das Tausende von JavaScript- und CSS-Bibliotheken bereitstellt.
Die CDN-Cache-Trefferquote ist niedrig: Bei der Zwischenspeicherung bedeutet ein „Cache-Miss“, dass die angeforderten Inhalte nicht im CDN gefunden wurden und vom Ursprungsserver abgerufen werden müssen. Ein „Cache-Treffer“ bedeutet, dass der angeforderte Inhalt im Cache gefunden und aus dem Cache bereitgestellt wurde. Die Cache-Trefferquote misst das Verhältnis zwischen Treffern und Fehlversuchen für eine bestimmte Website. Eine niedrige Cache-Trefferquote bedeutet, dass der größte Teil der Webseite nicht aus dem Cache bereitgestellt wird, und der Browser des Benutzers muss sie stattdessen vom Ursprungsserver abrufen. Jeder Cache-Fehler kann je nach Hosting-Provider auch Egress-Gebühren für Websites verursachen, was zu höheren Betriebskosten für diese Websites führt.
Es gibt mehrere Gründe für niedrige Cache-Trefferquoten:
- Cache-Regeln: Cache-Regeln können festlegen, was im Cache gespeichert wird und wie lange es gespeichert bleibt. Wenn die Cache-Regeln nicht korrekt konfiguriert sind, werden die richtigen Inhalte nicht im Cache gespeichert. CDN-Anbieter sollten eine Möglichkeit anbieten, die Zwischenspeicherung bei bestimmten URLs zu überprüfen und zu beheben. (Siehe z. B. Cloudflare Trace).
- Cache-Ebenen: Assets können je nach URL-Typ unterschiedlich zwischengespeichert werden. Einige CDNs können denselben Inhalt anhand der Basis-URL im Cache speichern, unabhängig von den an die URL angehängten Abfragezeichenfolgen, oder unterschiedliche Inhalte für jede Abfragezeichenfolge, oder unabhängig von den Abfragezeichenfolgen (eine Abfragezeichenfolge steht nach einem Fragezeichen in der URL, wie z. B. „example.com/image.jpg?with=query“). Assets können je nach an die URL angehängter Abfragezeichenfolge unterschiedlich bereitgestellt werden, was manchmal nicht beabsichtigt ist. Um dieses Problem zu beheben, passen Sie die Einstellungen der Cache-Ebenen an.
- Cache-Control-Header: Cache-Control-Header werden an HTTP-Antworten von Ursprungsservern angehängt. Diese Header legen Caching-Regeln für Browser und Vermittler wie CDNs fest. Cache-Control-Header können je nach Anbieter mit den im CDN festgelegten Caching-Regeln in Konflikt stehen. Vergleichen Sie sie daher miteinander, um sicherzustellen, dass beide korrekt eingestellt sind, falls eine die andere außer Kraft setzt.
Beachten Sie, dass die Cache-Trefferquote nicht die einzige Kennzahl ist, die bei der Website-Performance zählt. Eine ganzheitliche Ansicht der Web-Performance umfasst die Core Web Vitals und andere Metriken, die Einfluss auf die Nutzererfahrung, SEO und KI-Optimierung haben.
Veraltete Inhalte werden auf der Website angezeigt
Wenn Inhalte schnell geladen werden, aber es sich um die falschen Inhalte handelt, die nicht die neuesten Aktualisierungen oder Änderungen widerspiegeln, könnte die Time to Live (TTL) für zwischengespeicherte Inhalte zu hoch eingestellt sein. Time to Live (TTL) ist eine Einstellung, die in Sekunden angibt, wie lange ein Inhalt im Cache gespeichert werden soll, bevor das CDN (oder der Browser) seine gespeicherte Kopie aktualisiert. Reduzieren Sie die TTL für Inhalte, die nicht schnell genug aktualisiert werden. Alternativ können Sie versuchen, den Cache zu leeren, damit das CDN die Inhalte vom Ursprungsserver erneut abruft.
Inhalte, die häufig aktualisiert werden, benötigen möglicherweise spezielle Caching-Regeln. In einigen Fällen sollte es überhaupt nicht zwischengespeichert werden. Cloudflare verfügt über eine Bereinigungsfunktion, mit der Inhalte für eine Webseite sofort aus dem Cache entfernt werden können.
DNS-Konfigurationen
Wenn eine Domain und alle ihre Subdomains nicht auf das CDN verweisen, werden die mit diesen Domains verbundenen Inhalte nicht zwischengespeichert und die Website wird keine Performance-Verbesserungen erfahren.
Stellen Sie sicher, dass die Subdomains korrekt eingerichtet sind. Subdomains (konfiguriert über einen CNAME-Eintrag) müssen separat eingerichtet werden. Wenn sich eine Subdomain nicht hinter dem CDN befindet – selbst wenn die primäre Domain es ist – wird ihr Inhalt nicht im Cache gespeichert.
SSL-Fehler bei der Nutzung eines CDN
CDNs stellen häufig SSL-Zertifikate für Websites bereit. SSL-Zertifikate helfen, die Verbindung des Benutzers mit der Website zu authentifizieren, sensible Daten zu verschlüsseln, die vom Benutzer eingegeben werden, und Sicherheitswarnungen im Browser für Benutzer zu verhindern. Aber manchmal stellt eine Website „gemischte“ Inhalte bereit, bei denen einige Inhalte einer Webseite über eine SSL-Verbindung bereitgestellt werden und andere nicht. Benutzer erhalten möglicherweise Browser-Warnungen bezüglich der Sicherheit der Seite, die Seite kann möglicherweise nicht geladen werden oder die Seite kann langsamer geladen werden (da der Browser versucht und es nicht gelingt, TLS-Handshakes zu initiieren).
Diese Fehler können auftreten, wenn eine Webseite Inhalte von externen Quellen oder Subdomains enthält, die nicht im SSL-Zertifikat aufgeführt sind. Die Chrome-Entwicklerkonsole kann Entwicklern helfen, Fehler bei gemischten Inhalten zu beheben: Entwickler können sehen, von wo Inhalte geladen werden und welche URLs verwendet werden.
Andere SSL-Fehler könnten mit dem Zertifikat der Domain zusammenhängen. Erfahren Sie hier mehr über häufige SSL-Probleme.
Benötigen Sie Unterstützung mit dem Cloudflare CDN? Treten Sie der Cloudflare-Community bei, um kostenlosen Support und Einblicke von erfahrenen Cloudflare-Nutzern zu erhalten.
FAQs
Was ist ein CDN?
Ein CDN (Content Delivery Network) ist eine Gruppe verteilter Server, die Kopien von Webinhalten speichern, um sie schnell an Benutzer auszuliefern. Über das Caching hinaus helfen CDNs, die Bereitstellung von Inhalten zu beschleunigen und die Nutzererfahrung durch Dienste zu verbessern, die Streaming, dynamische Inhalte, DDoS-Abwehr und TLS-Nutzung unterstützen.
Wie kann ein CDN die Website-Performance verbessern?
CDNs helfen dabei, dass Websites für Nutzer schneller geladen werden, indem sie zwischen Endnutzern und Ursprungsservern positioniert sind und die Bereitstellung von Website-Inhalten beschleunigen. Sie tun dies, indem sie die Entfernung zwischen den Nutzern und den angeforderten Inhalten verringern und Dateien so optimieren, dass sie schneller bereitgestellt werden können.
Welche Gründe könnte es geben, dass ein CDN langsam arbeitet?
Mehrere Probleme können zu einer langsamen CDN-Performance führen, darunter eine mangelnde globale Reichweite, Probleme mit dem Ursprungsserver, dynamische Inhalte, die nicht korrekt geladen werden, nicht-optimierte Dateien, render-blockierende Ressourcen, nicht zwischengespeicherte Drittanbieter-Skripte oder eine niedrige Cache-Trefferquote.
Was ist eine niedrige Cache-Trefferquote und warum ist sie wichtig?
Eine niedrige Cache-Trefferquote bedeutet, dass der Großteil des Inhalts einer Webseite nicht aus dem Cache des CDN bereitgestellt wird, wodurch der Browser des Benutzers gezwungen ist, ihn stattdessen vom Ursprungsserver abzurufen. Je nach Architektur der betreffenden Webseite kann dies zu langsameren Seitenladezeiten und möglicherweise zu höheren Betriebskosten aufgrund von Egress-Gebühren führen.
Wodurch wird eine niedrige Cache-Trefferquote verursacht?
Niedrige Cache-Trefferquoten können durch falsch konfigurierte Cache-Regeln, unterschiedliche Caching-Ebenen für Assets basierend auf dem URL-Typ (z. B. Abfragezeichenfolgen) oder Konflikte zwischen Cache-Control-Headern von Ursprungsservern und CDN-Caching-Regeln entstehen.
Warum könnten auf einer Website, die ein CDN verwendet, veraltete Inhalte erscheinen?
Veraltete Inhalte können erscheinen, wenn die Time to Live (TTL)-Einstellung für zwischengespeicherte Inhalte zu hoch ist. Time to Live (TTL) bestimmt, wie lange ein Inhalt im Cache verbleibt, bevor das CDN oder der Browser seine Kopie aktualisiert. Das Verringern der Time to Live oder das Löschen des Cache kann das Problem lösen.