Sprawdzanie prędkości połączenia za pomocą iperf
iperf3 to bezpłatne narzędzie do pomiaru przepustowości sieci między dwoma komputerami. W przeciwieństwie do testów prędkości w przeglądarce pozwala wybrać oba końce testu: własny serwer i publiczny serwer iperf3 albo dwa własne serwery. iperf3 działa w systemach Linux i Windows i umożliwia pomiar przepustowości w obu kierunkach.
Instalacja iperf3
Linux
W systemach Ubuntu i Debian:
sudo apt update sudo apt install -y iperf3
W systemach AlmaLinux i Rocky Linux:
sudo dnf install -y iperf3
W systemach Ubuntu i Debian instalator może zapytać, czy uruchomić iperf3 jako demona. Wybierz opcję „Nie”. Do testów opisanych w tej instrukcji nie jest potrzebny stale działający serwer iperf3.
Windows i Windows Server
Na stronie pobierania iPerf znajduje się lista kompilacji iperf3 dla systemu Windows przygotowanych przez podmioty trzecie. Na przykład otwórz wydania iperf3-win-builds na GitHubie i w najnowszym wydaniu pobierz archiwum o nazwie iperf-<version>-win64.zip, na przykład iperf-3.22-win64.zip. Rozpakuj archiwum. Przenieś pliki z rozpakowanego folderu, w tym iperf3.exe, do folderu o krótkiej ścieżce, na przykład C:\iperf3.
Otwórz Wiersz polecenia i przejdź do tego folderu:
cd C:\iperf3
W systemie Windows polecenia z tej instrukcji uruchamiaj za pomocą iperf3.exe zamiast iperf3.

Test prędkości z użyciem publicznego serwera iperf3
Aby przetestować połączenie swojego serwera, uruchom iperf3 w trybie klienta, łącząc się z publicznym serwerem iperf3. Wybierz serwer publiczny w regionie, który chcesz przetestować. Listy serwerów publicznych wraz z ich adresami i portami znajdziesz w dokumencie INTROSERV Zasady obsługi problemów z łącznością sieciową oraz na stronie iPerf.
Domyślnie iperf3 mierzy ruch w jednym kierunku naraz, dlatego aby zmierzyć oba kierunki, należy wykonać dwa testy.
Aby zmierzyć prędkość wysyłania (upload), czyli z komputera do serwera iperf3, uruchom:
iperf3 -c <server_address> -p <port> -t 30 -P 10 -i 0
Aby zmierzyć prędkość pobierania (download), czyli z serwera iperf3 do komputera, dodaj opcję -R:
iperf3 -c <server_address> -p <port> -t 30 -P 10 -R -i 0
Zastąp <server_address> i <port> adresem i portem serwera publicznego. Każdy test trwa 30 sekund.

Publiczne serwery iperf3 obsługują tylko jeden test naraz. Jeśli pojawi się komunikat the server is busy running a test, odczekaj minutę i powtórz polecenie lub wybierz inny serwer.
Interpretacja wyników
Po zakończeniu testu iperf3 wyświetla podsumowanie. Ponieważ test wykorzystuje kilka równoległych połączeń, należy brać pod uwagę wiersze zaczynające się od [SUM]: przedstawiają one łączną przepustowość wszystkich połączeń.
W teście wysyłania dane wysyła komputer, dlatego należy użyć prędkości z wiersza [SUM] sender. W teście pobierania z opcją -R dane wysyła serwer, a komputer je odbiera, dlatego należy użyć prędkości z wiersza [SUM] receiver. Prędkość jest podawana w kolumnie Bitrate, w jednostkach Mbits/sec lub Gbits/sec.
Wynik przedstawia przepustowość między dwoma konkretnymi punktami. Zależy ona od trasy oraz od obciążenia serwera publicznego, dlatego przed wyciągnięciem wniosków warto powtórzyć test kilka razy i z różnymi serwerami.
Opcje poleceń
Powyższe polecenia wykorzystują następujące opcje:
- -c łączy się z serwerem iperf3 pod podanym adresem;
- -p ustawia port serwera;
- -t 30 wykonuje test przez 30 sekund;
- -P 10 używa 10 strumieni równoległych, co może pomóc w osiągnięciu wyższej przepustowości w szybkich łączach lub łączach o dużych opóźnieniach;
- -i 0 ukrywa raporty wyświetlane co sekundę i pokazuje tylko wynik końcowy;
- -R odwraca kierunek, dzięki czemu to serwer wysyła dane do komputera.
Zapisywanie wyników do pliku
Aby przesłać wyniki do działu wsparcia lub porównać je później, zapisz je do pliku:
iperf3 -c <server_address> -p <port> -t 30 -P 10 -i 0 > iperf-upload.txt iperf3 -c <server_address> -p <port> -t 30 -P 10 -R -i 0 > iperf-download.txt
W systemie Windows użyj tych samych poleceń z iperf3.exe. Pliki zostaną utworzone w bieżącym folderze.
Test prędkości między własnymi serwerami
Aby zmierzyć przepustowość między dwoma własnymi serwerami, uruchom iperf3 w trybie serwera na jednym z nich i połącz się z nim z drugiego.
iperf3 domyślnie używa portu 5201. Otwórz go dla TCP w zaporze sieciowej serwera, który będzie przyjmował połączenia. Za pomocą UFW w systemach Ubuntu i Debian:
sudo ufw allow 5201/tcp
Za pomocą firewalld w systemach AlmaLinux i Rocky Linux:
sudo firewall-cmd --permanent --add-port=5201/tcp sudo firewall-cmd --reload
Testy opisane w tej instrukcji korzystają z protokołu TCP. Jeśli planujesz również testy UDP, zezwól dodatkowo na port UDP 5201.
Uruchom iperf3 w trybie serwera:
iperf3 -s
Serwer wyświetli komunikat Server listening on 5201 i będzie oczekiwać na połączenia.

Na drugim serwerze uruchom klienta, podając adres IP pierwszego serwera:
iperf3 -c <first_server_ip> -p 5201 -t 30 -P 10 -i 0
Aby przetestować przeciwny kierunek, dodaj -R do tego samego polecenia. Po zakończeniu zatrzymaj serwer iperf3 skrótem Ctrl+C.
Nie pozostawiaj iperf3 uruchomionego w trybie serwera na publicznym adresie IP, gdy z niego nie korzystasz. Każdy, kto ma dostęp do serwera na porcie 5201, może wykonywać testy i wykorzystywać Twoje łącze.
Pełną listę opcji wyświetlisz poleceniem iperf3 --help.