Założono w 2008 · Wydanie cyfrowe · 19 czerwiec 2026

SMB IT Journal

Źródło wiedzy o technologiach informatycznych dla małych firm

Polski
Sieci

Ferrari i ciężarówki

Pracując w świecie SMB, naprawdę rzadko musimy rozmawiać o latencji. Świat SMB jest niemal powszechnie skoncentrowany na przepustowości systemu i generalnie nieświadomy latencji jako potrzeby. Są jednak chwile, gdy latencja staje się ważna, i gdy tak się dzieje, kluczowe jest zrozumienie wzajemnego oddziaływania przepustowości i latencji oraz tego, co tak naprawdę oznacza dla nas szybkość. Gdy zaczynamy wchodzić w przestrzeń enterprise, latencja jest częściej postrzegana jako punkt troski, ale nawet tam przepustowość niemal zawsze rządzi niepodzielnie – do tego stopnia, że koncepcje szybkości niemal powszechnie obracają się wokół przepustowości, a koncepcje latencji są często ignorowane lub zapomniane.

Zrozumienie roli latencji w systemie może być skomplikowane, choć sama latencja jest stosunkowo prosta do zrozumienia.

Świetnym porównaniem między latencją a przepustowością, które lubię stosować, jest idea Ferrari i ciężarówki z naczepą. Ferrari są szybkie w tradycyjnym sensie – mają dużą liczbę mil na godzinę. Można powiedzieć, że są zaprojektowane do prędkości. Ale czy naprawdę?

Generalnie uważamy ciężarówki z naczepami za powolne. To duże, ociężałe bestie o niskiej prędkości maksymalnej. Ale przewożą wiele rzeczy naraz.

W terminologii komputerowej normalnie myślimy o szybkości jak o pojemności przewozowej – myślimy w kategoriach elementów na sekundę. Ferrari jadące dwieście mil na godzinę to świetnie, ale może przewieźć może jedno pudełko naraz. Ciężarówka z naczepą może jechać tylko sto mil na godzinę, ale może przewieźć bliżej tysiąca pudełek naraz. Kiedy mówimy o przepustowości lub szybkości komputera, bardziej o to nam chodzi. W kategoriach sieciowych myślimy o gigabajtach na sekundę i rzadko przejmujemy się szybkością pojedynczego pakietu, ponieważ pojedynczy pakiet rzadko jest ważny. W kategoriach obliczeniowych myślimy o koncepcjach takich jak operacje zmiennoprzecinkowe na sekundę – podobna idea. Nikogo naprawdę nie obchodzi, jak długo trwa pojedyncza operacja FLOP (floating point operation), tylko ile możemy ich wykonać w ciągu jednej lub dziesięciu sekund.

Patrząc na Ferrari możemy powiedzieć, że jego użyteczna szybkość to dwieście pudełko-mil na godzinę. Oznacza to, że w ciągu każdej godziny operacji Ferrari może przemieścić jedno pudełko do dwustu mil. Ciężarówka z naczepą ma użyteczną szybkość stu tysięcy pudełko-mil na godzinę. Pod względem przewożenia paczek przepustowość ciężarówki jest łatwo pięćset razy szybsza niż Ferrari.

Tak więc w kategoriach, w jakich normalnie myślimy o komputerach i sieciach, ciężarówka byłaby szybka, a Ferrari powolne.

Ale jest jeszcze latencja do rozważenia. Zakładając, że nasz ładunek jest mały – powiedzmy list lub małe pudełko – Ferrari może przemieścić to jedno pudełko przez tysiąc mil w zaledwie pięć godzin! Ciężarówka potrzebowałaby dziesięciu godzin na tę samą trasę (ale mogłaby dostarczyć WIELE listów jednocześnie). Jeśli potrzebujemy szybko dostarczyć wiadomość lub małą przesyłkę z jednego miejsca do drugiego, Ferrari jest lepszym wyborem, ponieważ ma o połowę mniejszą latencję (opóźnienie) od chwili zainicjowania dostawy do dostarczenia pierwszej paczki w porównaniu z ciężarówką.

Jak można sobie wyobrazić, w większości przypadków ciężarówki są znacznie bardziej praktyczne, bo ich szybkość dostawy jest znacznie wyższa. I z tego powodu faktycznie widujemy duże ciężarówki na autostradach cały czas, a częstotliwość występowania Ferrari jest bardzo niska – mimo że oba kosztują mniej więcej tyle samo (bardzo orientacyjnie). Ale w szczególnych przypadkach Ferrari ma więcej sensu. Po prostu niezbyt często.

Jest to koncepcja ogólna, która może mieć zastosowanie w wielu przypadkach. Dotyczy systemów cachowania, pamięci, procesora, sieci, jąder i harmonogramów systemu operacyjnego, samochodów i nie tylko. Latencja i przepustowość są generalnie odwrotnie proporcjonalne – poświęcamy latencję, żeby uzyskać przepustowość. W większości operacji ma to największy sens. Ale czasami bardziej sensowne jest strojenie pod kątem latencji.

Storage jest w rzeczywistości osobliwością w komputerach, gdzie niemal cały nacisk na wydajność storage skupia się na IOPS, co jest w przybliżeniu miarą zastępczą dla latencji, a nie przepustowości mierzonej w „przeniesionych danych na sekundę”. Rzadko zależy nam na tej drugiej liczbie, ponieważ prawie nigdy nie jest ona źródłem wąskich gardeł storage'owych. Ale to wyjątek, a nie reguła.

Latencja i przepustowość mogą mieć zaskakujące interakcje w świecie komputerów. Kiedy mówimy o sieciach, na przykład, zazwyczaj mierzymy tylko przepustowość (Gb/s), ale rzadko przejmujemy się latencją (zwykle mierzoną w milisekundach). Zazwyczaj dzieje się tak dlatego, że niemal wszystkie systemy sieciowe mają podobne wartości latencji, a większość aplikacji jest w zasadzie niezainteresowana opóźnieniami latencji. Tylko rzadka aplikacja, jak VoIP przez łącza międzynarodowe lub satelitarne, wpływa na przeciętnego człowieka lub może niekiedy zaskoczyć ludzi, gdy próbują czegoś niekonwencjonalnego, jak iSCSI przez długodystansowe łącze WAN – i nagle latencja pojawia się jako nieprzewidziany problem.

Jednym z miejsc, gdzie interakcja latencji i przepustowości zaczyna być zaskakująca i interesująca, jest przejście od elektrycznych lub optycznych sieci danych do fizycznych. Słynny cytat w branży brzmi:

Nigdy nie lekceważ przepustowości kombi pełnego taśm pędzącego po autostradzie.

To świetna demonstracja ogromnej przepustowości przy bardzo wysokiej latencji. Jadąc osiemdziesiąt kilometrów przez miasto, pojedyncze kombi lub SUV mogłoby przewieźć setki petabajtów danych, osiągając prędkości transmisji danych, do których światłowód 10 Gb/s nie mógłby się zbliżyć. Ale czas dostarczenia pierwszego pakietu danych wynosi około godzinę. Często odrzucamy ten rodzaj sieci, ponieważ zakładamy, że latencja musi być ograniczona do poniżej około 500 ms. Ale nie zawsze tak jest.

Australia ostatnio pojawiła się w wiadomościach, gdy przeprowadzono test sprawdzający, czy gołąb niosący kartę SD może pod względem przepustowości sieciowej wyprzedzić regionalnego dostawcę ISP – i gołąb okazał się szybszy niż ISP!

W zakresie wydajności obliczeniowej często ignorujemy latencję do tego stopnia, że nie jesteśmy nawet świadomi jej jako kontekstu, w którym można omawiać wydajność. Ale w kręgach obliczeń o niskiej latencji jest ona rozpatrywana bardzo starannie. Przepustowość systemu jest zazwyczaj znacznie ograniczana (powszechne jest targetowanie systemów na osiąganie tylko dziesięciu procent wykorzystania procesora, podczas gdy bardziej tradycyjne systemy celują bliżej dziewięćdziesięciu procent), a takie koncepcje jak jądra czasu rzeczywistego, powinowactwo CPU, przypinanie procesora, wskaźniki trafień cache i obniżone pomiary są stosowane w celu skupienia się na uzyskaniu jak najszybszej odpowiedzi z systemu, zamiast próby wyciągnięcia z niego jak największej sumy obliczeniowej.

Typowe miejsca, gdzie niska latencja z perspektywy obliczeniowej jest pożądana, to krytyczne systemy sterownicze (takie jak kontrolery produkcyjne, gdzie nawet milisekunda latencji może powodować problemy na hali fabrycznej) lub systemy handlu finansowego, gdzie kilka milisekund opóźnienia może spowodować zmianę cen inwestycji lub sprzedaż produktów, które nie są już dostępne. Szybkość w kategoriach latencji jest często czynnikiem decydującym o zarabianiu lub traceniu pieniędzy – nawet jedna milisekunda może być paraliżująca.

Technicznie nawet systemy przetwarzania audio i wideo muszą być wrażliwe na latencję, ale większość nowoczesnych systemów komputerowych ma tak dużo wolnych zasobów obliczeniowych, a latencja jest ogólnie wystarczająco niska, że większość systemów – nawet centrale VoIP i systemy konferencyjne – może dziś funkcjonować, tylko bardzo rzadko potrzebując być świadomymi problemów latencji po stronie przetwarzania (nawet latencja sieciowa staje się coraz rzadziej problemem). Przeciętny administrator systemu lub inżynier może z łatwością przejść przez całą karierę bez potrzeby pracy na systemie, który jest wrażliwy na latencję lub dla którego nie ma tak dużej dostępnej nadmiarowości, żeby ukryć jakąkolwiek wrażliwość na latencję.

Definiowanie szybkości – czy to oznacza przepustowość, latencję, czy jeszcze coś innego, lub kombinację obu – jest czymś bardzo ważnym we wszystkich aspektach IT i w życiu. Zrozumienie, jak wpływają na nas w różnych sytuacjach i jak reagują na siebie nawzajem – przy czym generalnie istnieją w odwrotnej zależności, gdzie poprawa przepustowości odbywa się kosztem latencji lub odwrotnie – i nauczenie się ich balansowania w zależności od potrzeb w celu ulepszania systemów, na których pracujemy, jest bardzo wartościowe.

Otagowanobandwidth iops latency performance speed

Reklama

SMB IT Journal — the IT resource for small business