Was ist der Unterschied zwischen "Latenz" und "Umlaufzeit"?

14

Die Golang-Community stellt eine HTTP / 2-Demo-Website bereit , um die Leistung zwischen HTTP 1.1 und HTTP / 2 zu vergleichen.

Wir können verschiedene latencyOptionen auswählen , z. B. 0s Latenz, 30 ms Latenz, 200 ms Latenz.

  1. Ist latencyeine Terminologie der Informatik?
  2. Was bedeutet das?
  3. Was ist der Unterschied zwischen latencyund Round Trip Time?

Bildbeschreibung hier eingeben

Ryan Lv
quelle
Diese Frage und Antwort kann Ihnen beim Verständnis helfen.
Ron Maupin
Hat Ihnen eine Antwort geholfen? In diesem Fall sollten Sie die Antwort akzeptieren, damit die Frage nicht für immer auftaucht und nach einer Antwort sucht.
Ron Maupin

Antworten:

20

Die Netzwerklatenz gibt an, wie lange es dauert, bis etwas von einem Quellhost an einen Zielhost gesendet wird. Es gibt viele Komponenten für die Latenz, und die Latenz kann tatsächlich von A nach B und von B nach A verschieden sein.

Die Umlaufzeit gibt an, wie lange es dauert, bis eine Anforderung von einer Quelle an ein Ziel gesendet und die Antwort zur ursprünglichen Quelle zurückkehrt. Grundsätzlich ist die Latenz in jede Richtung zuzüglich der Bearbeitungszeit.

Ron Maupin
quelle
10

"Latenz" kann verschiedene Dinge bedeuten. Im Allgemeinen handelt es sich um eine Verzögerung - die Anwendungslatenz ist die Reaktionszeit einer Anwendung (von der Eingabe bis zur Ausgabe), die Netzwerklatenz die Verzögerung für den Empfang eines Pakets von Punkt A nach B usw.

"Umlaufzeit" ist mehr oder weniger gut definiert als die Netzwerkverzögerung von Punkt A nach B und zurück. Dies ist die Summe aller Kodierungs-, Warteschlangen-, Verarbeitungs-, Dekodierungs- und Ausbreitungsverzögerungen in beiden Richtungen. Im Wesentlichen ist es die Verzögerung, mit der A möglicherweise eine Antwort von B auf eine Anforderung erwartet, die nur sehr wenig Verarbeitung erfordert.

Sehr oft wird die Roundtrip-Zeit mit der Ping-Zeit zwischen A und B verglichen . Die Ping-Zeit kann einen guten Wert für die effektive RTT liefern, kann aber auch etwas anderes sein, da zwischen den verwendeten ICMP-Paketen möglicherweise Unterschiede bei der Weiterleitung und Verarbeitung bestehen durch Ping und die für die tatsächlich verwendeten Protokollpakete.

In Ihrem Fall bedeutet "Latenz" eine künstliche Verzögerung innerhalb des HTTP-Servers, die zusätzlich zu den bereits vorhandenen Verzögerungen hinzugefügt wird. Wenn Sie also eine effektive Umlaufzeit von 50 ms zum Server haben und "200 ms Latenz" auswählen, können Sie eine Antwort auf eine Anforderung innerhalb von 250 ms erwarten (zuzüglich des Verarbeitungsaufwands auf dem Server).

Zac67
quelle
4

Um den anderen Antworten ein wenig Hintergrund zu verleihen, muss man bedenken, dass die Netzwerklatenz erheblich variieren und sich auf die Benutzererfahrung auswirken kann.

Eine der offensichtlichsten Ursachen für Netzwerklatenzen ist die Entfernung: Die Signale, die Ihre Daten übertragen, bewegen sich mit mehr oder weniger Lichtgeschwindigkeit. Je länger die Entfernung zwischen Client und Server ist, desto höher ist die Latenz. Die Kommunikation zwischen zwei Computern, die über ein Ethernet-Kabel miteinander verbunden sind, dauert einige Millisekunden. Die Kommunikation mit einem Server über einen Ozean dauert Dutzende oder Hunderte von Millisekunden. Die Kommunikation über einen geostationären Satelliten dauert Hunderte von Millisekunden.

Dies ist deutlich sichtbar, wenn ein Ping ausgeführt wird, der die Umlaufzeit misst, die in diesem Fall sehr nahe an der Summe der Latenzzeiten in beiden Richtungen liegt.

Ein paar andere Dinge, die einen Einfluss auf die Latenz haben:

  • die Anzahl der Verbindungen / Sprünge: In den meisten Fällen muss ein Paket vollständig empfangen werden, bevor es auf der nächsten Verbindung gesendet werden kann. Das erhöht die Latenz für jeden Hop.
  • der Durchsatz dieser Verbindungen: je langsamer die Verbindung ist, desto länger dauert es, bis das gesamte Paket durch ist und somit auf der nächsten Verbindung weitergeleitet wird;
  • die Last dieser Verbindungen: Wenn eine Verbindung voll ist, muss das Paket möglicherweise in eine Warteschlange gestellt werden, bis es gesendet werden kann;
  • für Verbindungen mit lokaler Neuübertragung die Fehlerrate auf der Verbindung: Je höher die Fehlerrate ist, desto höher ist die Wahrscheinlichkeit, dass das Paket erneut gesendet werden muss.

Latenz kann sich stark auf die Benutzererfahrung auswirken (oder auch nicht):

  • Der bekannteste Fall ist die Latenz, die Spieler von MMORPGs und anderen Online-Spielen betrifft.
  • Alles Interaktive, bei dem die Interaktion auf der anderen Seite gesteuert wird, ist von der Latenz betroffen. Telnet / ssh, Remotedesktop, sind alle von der Latenz betroffen.
  • Die Sprachkommunikation ist von der Latenz betroffen, und bei hoher Latenz kommt es häufig zu Unterbrechungen.
  • Ältere Dateiübertragungsprotokolle litten auch unter Latenz, da sie keine Schiebefenster implementierten und der Absender warten musste, bis das Paket am Ziel ankam und die Bestätigung zurückkam, bevor er das nächste sendete.

Selbst in nicht interaktiven Fällen kann die Latenz einen Effekt haben (wie im Beispiel des OP dargestellt): Wenn viele kleine Dateien heruntergeladen werden müssen, kann die Latenz zu einer höheren Gesamtladezeit führen, wenn das Protokoll auf eine Datei warten muss muss vollständig heruntergeladen werden, bevor der Download des nächsten gestartet wird, im Vergleich zu einem Protokoll, mit dem mehrere Anforderungen gleichzeitig gesendet werden können und die Antworten ohne Unterbrechung zwischen aufeinanderfolgenden Dateien gesendet werden.

jcaron
quelle
4

Die Round-Trip-Zeit (RTT) ist die Zeit, die ein Paket benötigt, um vom sendenden zum empfangenden Endpunkt und zurück zu gelangen. Es gibt viele Faktoren, die sich auf RTT auswirken, einschließlich Laufzeitverzögerung, Verarbeitungsverzögerung, Warteschlangenverzögerung und Codierungsverzögerung. Diese Faktoren sind im Allgemeinen für ein bestimmtes Paar von Kommunikationsendpunkten konstant. Darüber hinaus kann eine Netzwerküberlastung RTT eine dynamische Komponente hinzufügen.

Sind RTT und Ping gleich?

Roundtrip-Zeit und Ping-Zeit werden oft als synonym angesehen. Während die Ping-Zeit eine gute RTT-Schätzung liefern kann, unterscheidet sie sich darin, dass die meisten Ping-Tests innerhalb des Transportprotokolls unter Verwendung von ICMP-Paketen ausgeführt werden. Im Gegensatz dazu wird RTT auf der Anwendungsschicht gemessen und beinhaltet die zusätzliche Verarbeitungsverzögerung, die durch Protokolle und Anwendungen höherer Ebene (z. B. HTTPS) erzeugt wird.

Was ist mit RTT und Netzwerklatenz?

Die Netzwerklatenz ist eng miteinander verbunden, unterscheidet sich jedoch von RTT. Die Latenz ist die Zeit, die ein Paket benötigt, um vom sendenden zum empfangenden Endpunkt zu gelangen. Viele Faktoren können die Latenz eines Dienstes beeinflussen. Die Latenz entspricht nicht explizit der Hälfte der RTT, da die Verzögerung zwischen zwei angegebenen Endpunkten asymmetrisch sein kann. RTT enthält die Verarbeitungsverzögerung am Echo-Endpunkt.

Werfen Sie einen Blick auf diesen Blog-Beitrag bei RTT, um weitere Informationen zu erhalten.

allieatcsio
quelle