Dlaczego nie wystarcza Speedtest
Większość popularnych testów, takich jak Speedtest.net, sprawdza przepustowość wyłącznie między Twoim komputerem a najbliższym nodem w infrastrukturze dostawcy. To oznacza, że realnie testujesz tylko fragment łącza – ten, który najczęściej działa najlepiej.
W praktyce potrzebujemy danych między konkretnymi punktami: np. między Twoją serwerownią a lokalizacją klienta, albo między dwoma centrami danych. Dopiero to pokazuje prawdziwe możliwości transmisji, na które wpływają firewalle, routery, VPN-y, oraz różne narzuty protokołów.
iPerf3 to narzędzie działające w trybie klient-serwer, dostępne na Windowsa, Linuxa, macOS, a nawet Androida. Dzięki niemu możemy dokładnie zbadać prędkość transferu danych między dwoma hostami, mierząc zarówno TCP, jak i UDP.
Instalacja na systemach Debianowych to kwestia jednego polecenia:
sudo apt install iperf3
Na jednym z hostów uruchamiamy iPerf3 w trybie serwera:
nginxiperf3 -s
Domyślnie nasłuchuje na porcie
5201
.Na drugim hoście uruchamiamy klienta, wskazując IP serwera:
cssiperf3 -c [adres IP serwera]
Wyniki pokazują prędkość przesyłu w czasie rzeczywistym. Dodatkowo możemy użyć aplikacji graficznej, np. bmon, by wizualizować dane.
Jeśli chcesz zmierzyć prędkość wysyłania w drugą stronę (od klienta do serwera), wystarczy użyć przełącznika -R
. iPerf3 domyślnie używa TCP, ale można też wymusić UDP z -u
i określić prędkość, czas trwania testu (-t
) lub rozmiar danych (-n
, -b
).
Przykładowe bardziej zaawansowane opcje:
--dscp
– do badania klasy ruchu--window
– do ustawiania rozmiaru okna TCP--daemon
– uruchomienie w tle--bind
– przypisanie do konkretnego adresu IP lub portu
iPerf3 to nie tylko narzędzie do testów między dwoma lokalizacjami. Świetnie sprawdza się też w:
diagnozowaniu problemów z łączami w serwerowni,
testowaniu wpływu VPN,
sprawdzaniu, czy łącza 10Gbps rzeczywiście działają z oczekiwaną przepustowością.
Podsumowanie
Jeśli Twoja praca wymaga wiedzy o rzeczywistej wydajności sieci, a nie tylko marketingowych „do 1 Gbps”, to iPerf3 powinno być podstawowym narzędziem w Twoim arsenale.