Direkt zum Inhalt

Wie behebe und reduziere ich die erhöhte Latenz von CloudFront?

Lesedauer: 5 Minute
0

Ich sehe eine erhöhte Latenz bei Antworten von Amazon CloudFront. Ich möchte die Ursache identifizieren und die Latenz reduzieren.

Kurzbeschreibung

Um Probleme mit der Latenz von CloudFront zu beheben, identifiziere die Ereignisse, die die Latenz verursacht haben. Folge dann diesen Schritten zur Fehlerbehebung, um die Latenz zu reduzieren.

Lösung

Ereignisse identifizieren, die Latenz verursachen

Führe die folgenden Schritte aus:

1. Verwende den folgenden curl-Befehl:


curl -w "DNS\_resolution: %{time\_namelookup}| TCP\_negotiation\_time: %{time\_connect}| SSL\_negotiation\_time: %{time\_appconnect}| TTFB: %{time\_starttransfer}| Total time: %{time\_total} \\n" -o /dev/null -vsL https://www.example.com

Hinweis: Ersetze example.com durch deinen CloudFront-Domainnamen oder alternativen Domain-Namen (CNAME) und URL-Pfad.

2. Prüfe in den Entwicklertools des Webbrowsers, wie lange jede Phase einer Netzwerkanforderung dauert. Wenn du beispielsweise Mozilla Firefox verwendest, überprüfe die Registerkarte Timings. Weitere Informationen findest du auf der Firefox-Website auf der Registerkarte „Timings“. Wenn du in der Vergangenheit Latenz beobachtet hast, überprüfe die Felder time-taken und time-to-first-byte in den CloudFront-Zugriffsprotokollen. CloudFront-Zugriffsprotokolle protokollieren nicht die Zeit, die der Client für den DNS-Suchvorgang und die TCP- und SSL/TLS-Verhandlungen benötigt hat.

Reduzierung der Latenz bei der DNS-Auflösung

Führe die folgenden Schritte aus:

  • Erhöhe die DNS-Caching-Zeit im clientseitigen DNS.
  • Erhöhe die Time to Live (TTL) des Caches auf dem lokalen DNS-Server.
  • Erhöhe die TTL des DNS-Datensatzes bei deiner DNS-Registrierung.
  • Wenn der Resolver-DNS-Server deines Internetdienstanbieters Latenz verursacht, solltest du öffentliche DNS-Server verwenden.

TCP- und SSL/TLS-Verhandlungszeit reduzieren

Führe die folgenden Schritte aus:

  • Überprüfe deine lokale Netzwerkbandbreite und Internetbandbreite.
  • Prüfe, ob bei deinem Internetdienstanbieter oder Router Netzwerkstörungen vorliegen.
  • Optimiere die lokale Netzwerkleistung über den Internetdienstanbieter oder die Netzwerkrouten.
  • Stelle sicher, dass der DNS-Resolver deinem Webbrowser ermöglicht, den nächstgelegenen und richtigen Edge-Standort zu finden.
  • Um die Leistung der HTTPS-Site zu verbessern, solltest du die Zertifikatkette kurz halten.
  • Eine Firewall, ein Proxy oder ein lokaler Router können zu Latenz führen. Führe den folgenden MTR-Befehl aus, um die Netzwerklatenz zu diagnostizieren:
mtr -rw example.com --no-dns

Hinweis: Ersetze example.com durch deinen Domain-Namen.

Reduziere die Latenz bei TTFB, TTL und RTT

Gehe wie folgt vor, um die Latenz bei Time Taken for First Byte (TTFB), Total Time Taken (TTL) und Round Trip Time (RTT) zu reduzieren.

CloudFront gibt den Antwortwert „X-Cache: Hit from Cloudfront“ zurück

CloudFront gibt „X-Cache:Hit from cloudfront“ zurück, wenn Anforderungen aus dem Cache bereitgestellt werden. Gehe wie folgt vor, um die Latenz zu reduzieren:

CloudFront gibt den Antwortwert „X-Cache: Miss from cloudfront“ zurück

CloudFront gibt „X-Cache:Miss from cloudfront“ zurück, wenn die Anforderung an den Ursprung gesendet wird. Gehe wie folgt vor, um die Latenz zu reduzieren:

  • Reduziere die RTT zwischen dem CloudFront-Edge-Standort und deinem Ursprungsstandort. Wenn eine Anforderung von einem CloudFront-Edge-Standort an den nächstgelegenen Ursprungsstandort ergeht, ist die RTT kürzer. TTFB ist jedoch betroffen, wenn die Anforderung von einem Edge-Standort stammt, der geografisch vom Ursprung entfernt ist. Um die RTT zu optimieren, repliziere den Ursprungsserver in mehreren AWS-Regionen, die deinen Benutzern geografisch näher sind. Richte dann das DNS des Ursprungs-Domain-Namens so ein, dass die Anforderung basierend auf Latenz oder Geolokalisierung an die Ursprungsserver weitergeleitet wird. Wenn du Amazon Route 53 als DNS-Anbieter verwendest, findest du weitere Informationen unter Auswahl einer Routing-Richtlinie.
  • Aktiviere die automatische CloudFront-Komprimierung, um Dateien zu komprimieren und die Download-Geschwindigkeit zu verbessern. Wenn dein Dateiformat von der automatischen CloudFront-Komprimierung nicht unterstützt wird, komprimiere die Datei im Ursprung vor und füge einen Content-Encoding-Header hinzu.
  • Aktiviere die Metrik „Origin latency“, um die Latenz vom Ursprung zu CloudFront zu überprüfen.
    Hinweis: Es gelten die Standardgebühren für CloudWatchs.
  • Aktiviere CloudFront Origin Shield, um eine zusätzliche Cache-Ebene hinzuzufügen, die die Last auf deinen Ursprüngen minimiert und die Verfügbarkeit verbessert.
  • Füge Antwort-Header-Richtlinien hinzu, wobei das Server-Timing-Header-Feature aktiviert ist. Dieses Feature kann dir helfen, die Ereignisse zu verstehen, die zur Latenz zwischen CloudFront und dem Ursprung beitragen.

Website-Datenverkehr wird an den falschen Edge-Standort weitergeleitet

CloudFront leitet Datenverkehr auf der Grundlage der Preisklasse der Distribution, der zugehörigen Geolocation-Datenbanken und der Unterstützung von EDNS0-Client-Subnetzen weiter. Abhängig von einer Kombination dieser Faktoren werden die Viewer deiner Website möglicherweise an einen unerwarteten Edge-Standort weitergeleitet. Dies kann die Gesamtlatenz beim Abrufen eines Objekts von einem CloudFront-Edge-Standort erhöhen.

Wenn der Datenverkehr zu deiner Website an den falschen Edge-Standort weitergeleitet wird, überprüfe deine Konfigurationsanforderungen. Weitere Informationen findest du unter Warum wurde der Datenverkehr für meine Webinhalte an den falschen CloudFront-Edge-Standort weitergeleitet?

Ähnliche Informationen

Welche Informationen gebe ich dem AWS Support, um Latenzprobleme bei der CloudFront-Webverteilung zu diagnostizieren?

Anteil der Anforderungen erhöhen, die direkt aus den CloudFront-Caches bereitgestellt werden (Cache-Trefferquote)

Verweildauer von Inhalten im Cache (Ablauf) verwalten

Wie behebe ich 502- und 503-Fehler, die Lambda@Edge-Funktionen in CloudFront verursachen?

AWS OFFICIALAktualisiert vor 7 Monaten