Jaka jest różnica między „Opóźnieniem” a „Okrągłym czasem podróży”?

14

Społeczność Golang udostępnia stronę demonstracyjną HTTP / 2, aby porównać wydajność pomiędzy HTTP 1.1 i HTTP / 2.

Możemy wybrać różne latency, np. Opóźnienie 0s, opóźnienie 30 ms, opóźnienie 200 ms.

  1. Czy latencyterminologia informatyczna?
  2. Co to znaczy?
  3. Jaka jest różnica między latencyi Round Trip Time?

wprowadź opis zdjęcia tutaj

Ryan Lv
źródło
To pytanie i odpowiedź mogą pomóc Ci zrozumieć.
Ron Maupin
Czy jakaś odpowiedź ci pomogła? jeśli tak, powinieneś zaakceptować odpowiedź, aby pytanie nie wyskakiwało wiecznie, szukając odpowiedzi.
Ron Maupin

Odpowiedzi:

20

Opóźnienie sieci to czas, jaki zajmuje wysłanie czegoś z hosta źródłowego do hosta docelowego. Opóźnienie składa się z wielu elementów, a opóźnienie może być różne od A do B i od B do A.

Czas podróży w obie strony to czas potrzebny na przesłanie żądania ze źródła do miejsca docelowego oraz na odpowiedź w celu powrotu do pierwotnego źródła. Zasadniczo opóźnienie w każdym kierunku plus czas przetwarzania.

Ron Maupin
źródło
10

„Opóźnienie” może oznaczać różne rzeczy. Ogólnie rzecz biorąc, jest to pewnego rodzaju opóźnienie - opóźnienie aplikacji to czas reakcji aplikacji (od wejścia do wyjścia), opóźnienie sieci opóźnienie uzyskania pakietu z punktu A do B itd.

„Czas podróży w obie strony” jest mniej lub bardziej dobrze zdefiniowany jako opóźnienie sieci od punktu A do B iz powrotem. Jest to suma wszystkich opóźnień w kodowaniu, kolejkowaniu, przetwarzaniu, dekodowaniu i propagacji w obu kierunkach. Zasadniczo jest to opóźnienie, kiedy A może oczekiwać odpowiedzi od B na żądanie, które wymaga bardzo niewielkiego przetworzenia.

Bardzo często czas podróży w obie strony jest porównywany z czasem pingowania między A i B. Czas pingowania może zapewnić dobrą wartość dla efektywnego RTT, ale może to być również coś innego, ze względu na potencjalne różnice w routingu i przetwarzaniu między używanymi pakietami ICMP przez ping i te dla faktycznie używanych pakietów protokołów.

W twoim przypadku „opóźnienie” oznacza sztuczne opóźnienie w serwerze HTTP, które dodaje się do już obecnych opóźnień. Jeśli więc masz efektywny czas podróży w obie strony na serwer wynoszący 50 ms i wybierzesz „opóźnienie 200 ms”, możesz oczekiwać odpowiedzi na żądanie w ciągu 250 ms (plus narzut związany z przetwarzaniem na serwerze).

Zac67
źródło
4

Aby dodać trochę tła do innych odpowiedzi, należy pamiętać, że opóźnienia sieciowe mogą się znacznie różnić i wpływać na wrażenia użytkownika.

Jednym z najbardziej oczywistych źródeł opóźnień sieci jest odległość: sygnały przenoszące dane przemieszczają się mniej więcej z prędkością światła, więc im dłuższa odległość między klientem a serwerem, tym większe opóźnienie. Komunikacja między dwoma komputerami połączonymi kablem Ethernet zajmie kilka milisekund. Komunikacja z serwerem za oceanem zajmie dziesiątki lub setki milisekund. Komunikacja przez satelitę geostacjonarną zajmie setki milisekund.

Jest to wyraźnie widoczne podczas wykonywania polecenia ping, który mierzy czas podróży w obie strony, który w tym przypadku jest bardzo zbliżony do sumy opóźnienia w obu kierunkach.

Kilka innych rzeczy, które mają wpływ na opóźnienie:

  • liczba łączy / przeskoków: w większości przypadków pakiet musi zostać w pełni odebrany, zanim będzie mógł zostać wysłany przy następnym łączu. Dodaje to nieco opóźnienia na każdym skoku;
  • przepustowość tych łączy: im wolniejsze łącze, tym dłużej trwa przejście pełnego pakietu, a tym samym przejście do następnego łącza;
  • obciążenie tych łączy: jeśli łącze jest pełne, może być konieczne umieszczenie pakietu w kolejce do momentu wysłania;
  • w przypadku łączy z lokalną retransmisją współczynnik błędów w łączu: im wyższy wskaźnik błędów, tym większe szanse, że pakiet będzie musiał zostać wysłany ponownie.

Opóźnienie może mieć duży wpływ na wrażenia użytkownika (lub nie):

  • najbardziej znanym przypadkiem jest opóźnienie wpływające na graczy MMORPG i innych gier online.
  • wszelkie interaktywne, w których interakcja jest kontrolowana po drugiej stronie, mają wpływ na opóźnienie. Opóźnienie ma wpływ na Telnet / ssh, zdalny pulpit.
  • opóźnienie wpływa na komunikację głosową, a przy dużych opóźnieniach ludzie cały czas sobie przeszkadzają.
  • starsze protokoły przesyłania plików również cierpiały z powodu opóźnień, ponieważ nie wdrażały przesuwnych okien, a nadawca musiał poczekać, aż pakiet dotrze do miejsca docelowego i potwierdzenia, zanim wyśle ​​następny.

Nawet w przypadkach nieinteraktywnych opóźnienie może mieć wpływ (co ilustruje przykład PO): gdy jest wiele małych plików do pobrania, opóźnienie może spowodować dłuższy całkowity czas ładowania, jeśli protokół będzie musiał czekać na jeden plik do całkowitego pobrania przed rozpoczęciem pobierania następnego, w porównaniu z protokołem, który umożliwi wysłanie wielu żądań na raz, a odpowiedzi będą wysyłane bez przerwy między kolejnymi plikami.

Jcaron
źródło
4

Czas podróży w obie strony (RTT) to czas, jaki zajmuje pakietowi przejście z wysyłającego punktu końcowego do odbierającego punktu końcowego iz powrotem. Istnieje wiele czynników, które wpływają na RTT, w tym opóźnienie propagacji, opóźnienie przetwarzania, opóźnienie kolejkowania i opóźnienie kodowania. Czynniki te są zasadniczo stałe dla danej pary komunikujących się punktów końcowych. Ponadto przeciążenie sieci może dodać element dynamiczny do RTT.

Czy RTT i ping są takie same?

Czas podróży w obie strony i czas pingowania są często uważane za synonimy. Chociaż czas pingowania może zapewnić dobre oszacowanie RTT, różni się tym, że większość testów ping jest wykonywana w ramach protokołu transportowego przy użyciu pakietów ICMP. Natomiast RTT jest mierzony na warstwie aplikacji i obejmuje dodatkowe opóźnienie przetwarzania generowane przez protokoły i aplikacje wyższego poziomu (np. HTTPS).

Co z RTT i opóźnieniami sieci?

Opóźnienie sieci jest ściśle powiązane, ale różni się od RTT. Opóźnienie to czas, jaki zajmuje pakietowi przejście od punktu końcowego wysyłającego do punktu końcowego odbierającego. Wiele czynników może wpływać na opóźnienie usługi. Opóźnienie nie jest wyraźnie równe połowie RTT, ponieważ opóźnienie może być asymetryczne między dowolnymi dwoma danymi punktami końcowymi. RTT obejmuje opóźnienie przetwarzania w punkcie końcowym echa.

Więcej informacji znajdziesz w tym blogu na RTT .

allieatcsio
źródło