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 die Latenz von CloudFront zu beheben, ermittle zunächst, welche der folgenden Ereignisse zur Latenz beitragen:

  • Die Zeit, die benötigt wird, um Anforderungen zwischen dem Client und den CloudFront-Edge-Standorten zu übertragen. Dazu gehören der Domain Name System (DNS)-Suchvorgang sowie TCP- und SSL/TLS-Verhandlungen.
  • Die Zeit, die Anforderungen benötigt haben, um zwischen CloudFront und dem Ursprung zu wechseln. Dazu gehören der Ursprungs-DNS-Suchvorgang, TCP- und SSL/TLS-Verhandlungen mit dem Ursprung sowie die Zeit, die der Ursprung benötigt, um ein Objekt zu verarbeiten und mit diesem zu antworten.

Befolge dann die Schritte zur Problembehandlung für die Ereignisse, die die meiste Latenz verursachen.

Lösung

Identifiziere Ereignisse, die die Latenz von CloudFront verursachen:

Gehe wie folgt vor, um zu ermitteln, welche Ereignisse die Latenz von CloudFront verursachen:

  • 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-Domain-Namen oder alternativen Domain-Namen (CNAME) und URL-Pfad.

Basierend auf der time-taken für jedes Ereignis oder jede Anforderung findest du im entsprechenden Abschnitt „Lösung“ in diesem Artikel weitere Informationen.

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

  • Erhöhe die DNS-Caching-Zeit im clientseitigen DNS.
  • Erhöhe die Time to Live (TTL) des Cache auf dem lokalen DNS-Server.
  • Erhöhe die TTL des DNS-Datensatzes bei deiner DNS-Registrierung / deinem Anbieter.
  • Wenn der Resolver-DNS-Server deines Internetdienstanbieters Latenz verursacht, solltest du die Verwendung öffentlicher DNS-Server in Betracht ziehen.

Reduzierung der Latenz bei TCP und SSL/TLS – Verhandlungszeit

  • Ü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.
  • Vergewissere dich, dass du den richtigen DNS-Resolver verwendest, mit dem der Webbrowser den nächstgelegenen und korrekten POP-Standort finden kann.
  • Um die Leistung der HTTPS-Site zu verbessern, solltest du die Zertifizierungskette kurz halten.
  • Latenz kann durch eine Firewall, einen Proxy oder einen lokalen Router verursacht werden. Um festzustellen, was davon die Latenz verursacht, führe den folgenden MTR-Befehl vom System aus. Weitere Informationen findest du auf der Akamai-Website unter Diagnosing Network Issues with MTR (Diagnose von Netzwerkproblemen mit MTR).
mtr -rw example.com --no-dns

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

Reduzierung der Latenz bei Time Taken for First Byte (TTFB) und Total Time Taken (TTL)

Wenn CloudFront „X-Cache:Hit from cloudfront“ zurückgibt

CloudFront gibt „X-Cache:Hit from cloudfront“ zurück, wenn Anforderungen vom nächstgelegenen Edge-Standort aus bedient werden. Um die Latenz zu reduzieren:

Wenn CloudFront „X-Cache:Miss from cloudfront“ zurückgibt

Falls CloudFront „X-Cache:Miss from cloudfront“ zurückgibt, wenn die Anforderung an den Ursprung gesendet wird. Um die Latenz zu reduzieren:

  • Reduziere die Roundtrip-Zeit (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 Regionen, die deinen Benutzern geografisch näher sind. Richte dann das DNS des Ursprungsdomain-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 reduzieren. Wenn dein Dateiformat von der automatischen CloudFront-Komprimierung nicht unterstützt wird, komprimiere die Datei im Ursprung vor und stelle es mit dem Content-Encoding-Header bereit.
  • Überprüfe die Latenz vom Ursprung bis CloudFront, indem du die Ursprungs-Latenzmetrik aktivierst. **Hinweis:**Die Standard-CloudWatch-Raten werden übernommen.
  • Aktiviere CloudFront Origin Shield.
  • 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.

Ähnliche Informationen

Wie reduziere ich die Latenz langsamer Antworten von CloudFront?

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

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 10 Monaten