Übersicht

Die Leistungsmessung ist der Ausgangspunkt dafür, Möglichkeiten zur Verbesserung der Geschwindigkeit von Webanwendungen zu identifizieren. Die gemessene Leistung wird durch die Qualität der Inhaltsbereitstellung über ein CDN und durch die Art und Weise beeinflusst, wie eine Webanwendung entwickelt wird. Der Fokus dieses Artikels liegt auf den besten Methoden zur Messung der Leistung bei der Bereitstellung von Inhalten. Diese Vorgehensweise ist wichtig für das Benchmarking von CDNs (z. B. die Einführung eines neuen CDN), für den Austausch von CDNs in einer Multi-CDN-Architektur und für laufende CDN-Konfigurationsänderungen (z. B. die Einführung eines neuen Protokolls wie HTTP/3). Um die relevantesten und genauesten CDN-Leistungsdaten zu erhalten, müssen die Testbedingungen sorgfältig gewählt werden: Messtechniken und Testbedingungen.

Amazon CloudFront Flash Talks: bewährte Methoden

Messtechniken

Synthetische Tests zur Leistungsmessung auf Anwendungsebene

Synthetisches Testen ist eine Messtechnik, bei der Operatoren das Szenario eines Benutzers simulieren, der ihre Webanwendung lädt. Dies kann mit Tools wie Lighthouse von Chrome am Computer des Bedieners erfolgen, im Rechenzentrum mithilfe von Tools wie Webpagetest.org oder in einem komplexen Netzwerk von Sonden, die in Rechenzentren und ISP-Backbones auf der ganzen Welt implementiert werden, und zwar mithilfe von Tools wie Catchpoint oder CloudWatch Synthetics.

Dieser Ansatz ist nützlich, um einen Einblick in die Leistung des Codes Ihrer Webanwendung zu erlangen (z. B. die Auswirkung von JavaScript auf das Laden von Seiten). Es wird empfohlen, die Verbesserung oder Regression der Leistung Ihrer Anwendung nach einer Codeaktualisierung in den verschiedenen Schritten Ihres Codeveröffentlichungsprozesses zu überwachen (z. B. synthetische Tests in einer Vorproduktionsumgebung).

Synthetische Tests reichen jedoch nicht aus, um die Leistung von CDNs zu messen. Beispielsweise befinden sich Sonden für synthetische Tests normalerweise in Netzwerken, die keinen echten Benutzer-Datenverkehr übertragen, wofür nicht alle Routingsysteme von CDNs optimiert sind. Außerdem ist der durch synthetische Tests generierte Datenverkehr im Vergleich zur tatsächlichen Datenverkehrslast relativ gering, was nicht gut widerspiegelt, wie der Datenverkehr in CDNs langsam gesteigert wird. Aus diesen Gründen wird empfohlen, für das Benchmarking von CDNs Real User Measurement (RUM)-Methoden zu verwenden. Lesen Sie

Real User Measurement zur Leistungsmessung auf CDN-Ebene

Wenn Sie die Leistung eines CDN wie CloudFront messen möchten, sollten Sie die Real User Measurement (RUM)-Methode in Betracht ziehen und Tools wie CloudWatch RUM einsetzen. RUM liefert Ihnen die genauesten Daten darüber, wie Ihre Webanwendung aus Benutzersicht funktioniert. Mit CloudWatch RUM können Sie nachvollziehen, wie sich die Leistung Ihres CDN auf die Core Web Vitals Ihrer Anwendung auswirkt, z. B. die Metrik „Largest Content Paint“ (LCP). Sie können RUM auch verwenden, um die CDN-Leistung mit Ihren Geschäfts-KPIs abzugleichen (z. B. der Anzahl der Benutzerbesuche, Verkäufe usw.). Um CloudWatch RUM nutzen zu können, müssen Sie auf Ihren Webseiten ein JavaScript-Tag einfügen. Das Tag erfasst Daten von Browser-APIs, etwa Seitenladezeiten mit einer Aufschlüsselung der Verbindungsschritte (DNS-Lookup, TCP-Verbindung usw.) oder Core Web Vitals, und sendet sie dann zum Dashboarding an CloudWatch RUM. Sie können Ihre CDN-Leistung analysieren, indem Sie nach Dimensionen wie dem Browsertyp, dem Land des Benutzers oder einer bestimmten Seiten-ID filtern.

Wenn Ihr CDN Latenzen in einer dieser Dimensionen anzeigt (z. B. einer bestimmten Seite oder geografischen Region), sollten Sie die Netzwerkmetriken von Anfragen innerhalb der externen Dimension genauer untersuchen. Langsame TCP-Verbindungszeiten können auf suboptimales Routing hindeuten. Eine langsame Zeit bis zum ersten Byte bei Cache-Fehlern kann auf einen langsamen Ursprung hindeuten. Verwenden Sie die serverseitige CloudFront-Problembehebung in Kombination mit CloudWatch RUM, um den Überblick zu behalten und Latenzprobleme besser nachzuvollziehen.

Überwachung realer Benutzer für Amazon CloudWatch

Bewährte Methoden für CDN-Benchmarking

Beachten Sie die folgenden bewährten Methoden für die Einrichtung unverzerrter Testbedingungen für das Benchmarking von CDNs wie CloudFront:

  • Senden Sie einen erheblichen Teil Ihres Datenverkehrs (mindestens 20 %) an jedes CDN, um die tatsächliche Leistung maßstabsgerecht zu messen. CDNs wie CloudFront zeigen eine bessere maßstabsgerechte Leistung, wenn sie vorbereitet werden (d. h. der Cache ist gefüllt, der TCP-Verbindungspool ist bereit und DNS-Einträge sind von ISPs zwischengespeichert).
  • Führen Sie die Benchmarking-Tests für alle CDNs unter den gleichen Bedingungen durch. Senden Sie die gleiche Menge an Datenverkehr an jedes Ihrer CDNs, im gleichen Zeitraum und an dieselbe Benutzerbasis.
  • Führen Sie die Tests für einen angemessenen Zeitraum durch. Wenn Sie beispielsweise Long-Tail-Inhalte bereitstellen, benötigen CDNs möglicherweise Tage, um den Cache zu füllen und die Cache-Trefferquote auf einen stabilen Zustand zu steigern.
  • Konfigurieren Sie CDNs mit den gleichen Funktionen, z. B. Komprimierung, Bildoptimierung, Protokollen (HTTP/3 vs. H2, TLS1.3 vs. TLS1.2, IPv6 vs. IPv4), Origin-Beschleunigung (Origin Shield) usw.

Einige Drittanbieterlösungen für die Datenverkehrssteuerung wie Pulsar von NS1 oder Citrix Intelligent Traffic Management enthalten eigene RUM-Daten, die aus Quellen außerhalb Ihrer Anwendung stammen. Wenn Sie solche Tools verwenden, sollten Sie die folgenden häufigen Fehler beim CDN-Leistungsbenchmarking vermeiden:

  • Werden die CDNs unter den gleichen Bedingungen getestet, mit ähnlichen Konfigurationen und Optimierungen?
  • Wie viele Datenpunkte werden für jede Dimension gesammelt? Mehr Datenpunkte führen zu einem genaueren Benchmarking (Warmlaufen der CDNs, statistische Fehler usw.)
  • Haben die getesteten Objekte dieselben Eigenschaften wie Ihre Anwendung (z. B. statisch vs. dynamisch, kleine Objekte vs. große Objekte, beliebte Objekte vs. unbeliebte Objekte)?
  • Einige dieser Tools bieten die Möglichkeit, RUM-Tests auf Ihren eigenen CDNs durchzuführen. Ziehen Sie diese Option in Betracht, da sie die Leistung, die Ihre Benutzer mit Ihren CDNs erleben werden, besser widerspiegelt.
  • Verwenden Sie die am besten geeignete Kombination aus Leistungskennzahlen (Latenz, Durchsatz, P50 gegenüber P90) und Verfügbarkeit, die für Ihre Anwendung relevant ist. Beispielsweise reagieren große Objektdownloads empfindlicher auf den Durchsatz als auf die Latenz.

Ressourcen

War diese Seite hilfreich?