🏠 Self-hosted

Serwer lokalny, zero lagu

Ping 1 ms z sąsiedniego pokoju kontra 150 ms zza oceanu.

4 min czytania
Serwer lokalny, zero lagu

Otwórz plik z serwera w sąsiednim pokoju, a pojawi się. Otwórz ten sam plik z serwera na innym kontynencie, a też się pojawi — chwilę później. Oba są szybkie. Tylko jeden z nich sprawia wrażenie, że ten plik jest Twój, a różnica między tymi dwoma wrażeniami to liczba, której większość ludzi nigdy nie pokazano.

Ta liczba to latencja: ile czasu zajmuje sygnałowi dotarcie tam i z powrotem. Nie ile danych mieści się w łączu — to przepustowość, a ludzie nagminnie mylą te dwie rzeczy. Przepustowość to szerokość rury. Latencja to jej długość, a żadne poszerzanie nie skraca rury.

Dlaczego odległość ma próg, którego nie da się kupić

Światło w światłowodzie porusza się z prędkością około dwóch trzecich tej w próżni. Daje to nieco ponad dwieście kilometrów na milisekundę, a sygnał musi wrócić — czyli mniej więcej jedną milisekundę na każde sto kilometrów odległości, tam i z powrotem, w najlepszym wyobrażalnym przypadku.

To jest próg wyznaczony przez fizykę, zanim w grę wejdzie jakikolwiek sprzęt. Warszawa–Frankfurt to jakieś dziewięćset kilometrów, więc nie może być szybsza niż mniej więcej dziewięć milisekund. Warszawa–wschodnie wybrzeże USA to około sześć tysięcy osiemset, więc nie może być szybsza niż jakieś siedemdziesiąt. Rzeczywistość dokłada do tego hojnie — kable nie biegną w linii prostej, a każdy router po drodze kosztuje czas — więc liczby, które faktycznie mierzysz, są wyższe, często dwu- czy trzykrotnie.

Maszyna w sąsiednim pokoju, w przewodowej sieci lokalnej, odpowiada wyraźnie poniżej milisekundy. To nie jest ulepszenie siedemdziesiątki; to inna kategoria i jedyna część tego porównania, której nie zmieni niczyja inwestycja w infrastrukturę.

Gdzie dziesiątki milisekund zamieniają się w sekundy

Siedemdziesiąt milisekund to nic. Nikt nie odczuwa siedemdziesięciu milisekund. Dlaczego więc odległy serwer sprawia inne wrażenie?

Bo operacje rzadko są pojedynczą wymianą. Otwarcie dokumentu to rozmowa: nawiązanie połączenia, uwierzytelnienie, zapytanie o metadane, pobranie pliku, potwierdzenie, zamknięcie. Każdy krok czeka na poprzedni. Dziesięć podróży w obie strony po siedemdziesiąt milisekund to prawie sekunda, zanim cokolwiek się pokaże — a dziesięć to skromne oszacowanie dla czegokolwiek z logowaniem.

A teraz zrób to dla każdej miniatury w folderze z czterystoma zdjęciami, a różnica przestaje być subtelna. To jest konkretny powód, dla którego przeglądanie dużej zdalnej biblioteki zdjęć wydaje się ociężałe, podczas gdy streaming filmu z tej samej usługi jest bez zarzutu: film to jeden długi transfer, w którym rządzi przepustowość, a folder to tysiące małych wymian, w których rządzi latencja.

Ta sama asymetria pojawia się w pracy, którą wykonuję zawodowo. Zapytanie do bazy w tym samym budynku wraca, kiedy jeszcze patrzysz na ekran. To samo zapytanie do bazy za oceanem, jeśli jest napisane jako pętla wykonująca wiele małych żądań zamiast jednego dużego, potrafi zająć minuty. Zapytanie jest identyczne. Zrobiła to odległość.

Uczciwe granice tego argumentu

Muszę tu uważać, bo to jest moment, w którym taki tekst zwykle przesadza.

Latencja pomaga tylko wtedy, gdy jesteś blisko serwera. Lokalna maszyna jest natychmiastowa w domu i nie lepsza od czegokolwiek innego, kiedy pracujesz z hotelu w innym kraju — w tym momencie pokonujesz tę samą odległość co wszyscy, a dodatkowo ograniczeniem staje się prędkość wysyłania Twojego łącza domowego, która zwykle jest znacznie niższa od pobierania. Dla kogoś naprawdę mobilnego przez większość czasu dobrze ulokowana usługa hostowana pobije serwer stojący w jego pustym mieszkaniu.

Duzi dostawcy robią też coś, czego domowy serwer nie potrafi: umieszczają kopie blisko wszystkich. Sieci dostarczania treści istnieją dokładnie po to, żeby pokonać ten problem, i pokonują go dobrze. Do serwowania tego samego pliku wielu ludziom w wielu miejscach hosting rozproszony wygrywa i nie jest to bliski wynik.

Uczciwe twierdzenie jest więc wąskie: dla ludzi pracujących tam, gdzie są ich dane, przy wielu małych plikach, lokalny sprzęt należy do kategorii, do której żaden abonament nie dosięgnie — nie z powodu jakości inżynierskiej, tylko z powodu prędkości światła. A większość małych firm to dokładnie ten przypadek. Biuro jest miejscem, gdzie dzieje się praca i gdzie są pliki, a ta zbieżność jest warta więcej, niż zwykle się jej przyznaje.

Jest też tryb awarii wart nazwania, bo to jego klienci faktycznie zauważają. Lokalny serwer działa dalej, kiedy internet nie działa. Nie szybciej — działa. Zerwane łącze u dostawcy oznacza, że firma z plikami w hostingu nie otworzy dokumentu, a firma z maszyną w kącie pracuje dalej i o awarii dowiaduje się z wiadomości.

Jeśli chcesz zobaczyć tę liczbę u siebie, zajmie to trzydzieści sekund. Pinguj coś we własnym domu, coś we własnym kraju i coś na innym kontynencie. Trzy liczby, jeden wieczór, i już nigdy nie przeczytasz „chmura jest tak samo szybka" bez pytania, o którą część szybkości chodzi.

Wolisz nie budować tego samemu?

Dostarczamy NAS-y i Delle z całym tym stackiem preinstalowanym — Nextcloud, Immich, Jellyfin, Stirling PDF, n8n i Home Assistant, skonfigurowane przed wysyłką. Podłączasz prąd i sieć. AI i automatyzację możesz wyklikać online już teraz.