Daniel Takai Unic AG

Die Latenz ist neben der Backend-Performance und der Kapazität ein wichtiger Faktor der User Experience unseres Websystems.

Christian Wittwer Unic AG

Viele CDN-Anbieter rechnen die Kosten nach Traffic-Volumen ab; es lohnt sich also, eine Kosten-Nutzen-Rechnung zu machen.

Nicolas Bär Unic AG

Unterm Strich sollte man Antwortzeiten von mehr als einer Sekunde vermeiden. Manchmal braucht es hierfür nur ein wenig strukturiertere Analyse und selbstverständlich eine genaue Einstellung der HTTP-Cache-Header.

Die Latenz ist ein häufig unterschätzter Faktor der Performance von Websystemen. Lokal bei der Entwicklung nicht bemerkbar, kumulieren sich die Laufzeiten über die Distanz. Insbesondere bei Websystemen, bei denen die globale Verfügbarkeit oft als Vorteil ins Feld geführt wird, können so lange Laufzeiten entstehen. Wir erläutern die Hintergründe und zeigen Methoden zur Verbesserung auf.

Die Latenz wird durch die räumliche Distanz, das verwendete Protokoll und das Antwortverhalten unseres Websystems beeinflusst. Üblicherweise misst man sie in Millisekunden und unterscheidet zwischen One-Way- und Round-Trip-Messungen. Letztere sind einfacher durchzuführen, da man sich nicht um die Synchronisation der Uhren zwischen den beiden Messpunkten kümmern muss. Zudem enthält die Roundtrip-Messung auch die Antwortzeit unseres Websystems, sodass wir eine Zahl erhalten, die dem entspricht, was der entfernte Benutzer auf seinem Client erlebt. Zwei wesentliche Variablen spielen hier mit: die Kapazität unseres Systems sowie die individuelle Perspektive des Benutzers aufgrund der räumlichen Verteilung. Abbildung 1 zeigt die Konzepte rund um die Latenz, die wir in diesem Artikel besprechen.

„Man muß versuchen, bis zum Äußersten ins Innere zu gehen, denn der Feind des Menschen ist die Oberfläche“ Samuell Beckett

Abb. 1: Konzepte rund um die Latenz

Abb. 1: Konzepte rund um die Latenz

Entscheidende Protokollfragen

Die Latenz von Kommunikationswegen wird maßgeblich vom Protokoll beeinflusst. Dieses definiert die Regeln für den Austausch von Informationen innerhalb eines Netzwerks. Ein Web Service verwendet verschiedene Protokolle, um mit den Umsystemen zu kommunizieren. Beim Aufruf eines URLs wird immer DNS verwendet, um die Adresse aufzulösen und HTTP oder HTTPS für die Kommunikation zwischen Browser und Web Service. Falls der Web Service mit einer Datenbank kommuniziert, wird dabei wieder ein spezifisches Protokoll verwendet (z. B. das MySQL-Protokoll). Um den Einfluss von Protokollen auf die Performance zu verstehen, diskutieren wir zunächst den Unterschied von HTTP zu HTTP/2 und besprechen folgend das Vorgehen zur Messung von Latenz über verschiedene Protokolle.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Java Magazin 5.16 - "Microservices: Ein Hype im Realitätscheck"

Loading ist eine Serie im Java Magazin. In diesem Teil geht es um das Thema Latenz und Webperformance.

Alle Infos zum Heft
236749Loading: Latenz und Webperformance
X
- Gib Deinen Standort ein -
- or -