Ping test

Co to jest latency

Określenie „latency” jest ogólnym terminem oznaczającym, zwłaszcza w szeroko rozumianych systemach informatycznych, wszelkiego rodzaju opóźnienie podczas wykonywania zadanych operacji. Przechodząc na nieco wyższy stopień uszczegółowienia, a więc do zagadnień sieci komputerowych jako „latency” określa się wszelkiego rodzaju przestoje oraz opóźnienia powstałe podczas transmisji pakietów danych oraz w przetwarzaniu odebranych lub przygotowywanych do wysłania danych. Często spotkać można również pojęcie „lag”, szczególnie popularnie w kręgach miłośników gier komputerowych (granie online z wykorzystaniem internetu) oraz osób intensywnie korzystających z usługi IRC. Równie popularne w komputerowym żargonie jest określenie „ping” używane zamiennie z „lagiem”, jednak nie do końca jest ono poprawne, bowiem ping jest jednym z podstawowych narzędzi do szacowania opóźnień transmisji w sieci.

Wartości opóźnień zależą od wielu czynników. W sprawnie funkcjonującej sieci lokalnej, w której panuje stosunkowo niewielki ruch będący ułamkiem maksymalnej przepustowości medium transmisyjnego (np. 100Mbit/s przy typowym okablowaniu w postaci skrętki kat. 5) opóźnienia są mniejsze niż 1 milisekunda. Przy korzystaniu z łącz internetowych przeciętne wartości mogą zawierać się w przedziale od kilkunastu milisekund do nawet kilku sekund. O ile w przypadku typowej internetowej działalności, czyli np. przeglądania witryn WW, dyskutowania na chatach, ściągania plików, czy też wysyłania e-maili kilkusekundowe lagi nie są jakoś bardzo dokuczliwe, o tyle w sytuacjach, gdzie wymagana jest szybka odpowiedź serwera sprawa ma się zupełnie inaczej. Przykłady tego typu zastosowań są między innymi następujące:

  • Gry komputerowe – praktyka pokazuje, że opóźnienia rzędu 100 milisekund są jeszcze akceptowalne, powyżej tej granicy, w szczególności dla gier o szybkiej akcji, takie lagi mogą utrudnić rozgrywkę.
  • Video – oglądanie filmów online, np. z serwisu Youtube wymaga stosunkowo wysokiej, stałej przepustowości łącza. Opóźnienia transmisji danych rzędu 300-500 milisekund mogą zaowocować przerywaniem filmu, utratą synchronizacji na linii dźwięk-obraz lub w niektórych przypadkach powodować zniekształcenia obrazu.
  • Praca zdalna, zwłaszcza z pulpitem graficznym – opóźnienia rzędu jednej sekundy niejednokrotnie powodują zerwanie połączenia i konieczność nawiązywania go ponownie, wartości oscylujące wokół 300 milisekund zauważalnie wpływają na obniżenie komfortu pracy.

Oprócz opóźnień spowodowanych nieprawidłowo funkcjonującymi łączami transmisyjnymi w niektórych sytuacjach spotkać się można z lagami powodowanymi przez oprogramowanie systemowe – np. niedopracowane sterowniki urządzeń, moduły obsługi niektórych funkcji itp. Jako charakterystyczne przykłady tego typu sytuacji można wymienić np.:

  • Niskowydajne oprogramowanie serwera poczty elektronicznej – w przypadku dużej ilości e-maili przetwarzanie pojedyncznej wiadomości rozumiane jako odstęp czasu pomiędzy odebraniem e-maila przez serwer a umieszczenie go w skrzynce odbiorczej użytkownika może trwać nawet do kilkunastu minut, gdzie typowy serwer SMTP zużywa na tą czynność kilka milisekund.
  • Błędy w sterownikach kart sieciowych – niektóre tanie karty sieciowe zawierają błędy w swoich sterownikach systemowych, które powodują spore opóźnienia w transmisji danych, często wskutek nieprzestrzegania standardów dotyczących formowania pakietów, dostępu do medium transmisyjnego, czy wreszcie współpracy z jądrem systemu operacyjnego. Z punktu widzenia użytkownika końcowego karta sieciowa z błędnie napisanym sterownikiem  ma bardzo niską przepustowość, bardzo długi czas oczekiwania na nawiązanie połączenia (do kilkunastu sekund, niezależnie od parametrów łącza, używanego protokołu komunikacyjnego i innych cech) oraz ogólnie negatywny wpływ na stabilność systemu operacyjnego.
  • Oprogramowanie, które nie nadąża z przetwarzaniem napływających do niego danych – jest to sytuacja nieco odmienna od przypadku wolnego serwera poczty elektronicznej, bowiem wiąże się ze zbyt niską mocą obliczeniową komputera. Tego typu przypadki można zaobserwować przy próbach oglądania filmu online na komputerze o mocno przestarzałej konfiguracji – mimo dysponowania łączem o teoretycznej przepustowości  znacznie przekraczającej wymagania stawiane przez film, jego oglądanie może okazać się utrudnione z uwagi na sprzęt nienadążający z dekodowaniem poszczególnych klatek tak, aby użytkownik otrzymał płynny obraz.