Iperf testuje przepustowość i szybkość sieci

Iperf - Narzędzie typu open source przeznaczone do testowania przepustowości sieci między dwoma węzłami. Narzędzie iperf umożliwia generowanie obciążenia TCP i UDP między hostami. Dzięki iperf możesz szybko mierzyć maksymalna przepustowość sieć między serwerem a klientem, przytrzymaj testowanie obciążenia kanału połączenie, router, brama sieciowa (zapora ogniowa), sieć Ethernet lub Wi-Fi.

W tym artykule pokażemy, jak zainstalować i korzystać z narzędzia. iperf aby sprawdzić prędkość sieci Windows i Linux CentOS (istnieją wersje iperf na Androida, MacOS, RouterOS od MikroTik i innych platform).

Treść

  • Wersje Iperf: iperf2 i iperf3
  • Zainstaluj iPerf dla Windows
  • Zainstaluj iperf na CentOS Linux
  • Pomiar prędkości sieci za pomocą Iperf

Wersje Iperf: iperf2 i iperf3

Utility Iperf jest wieloplatformowy i nie wymaga instalacji, wystarczy skopiować i uruchomić go na dwóch urządzeniach, których przepustowość sieci należy ocenić. Iperf działa w trybie klient-serwer. Na pierwszym komputerze narzędzie Iperf uruchamia się w trybie serwera (oczekuje ruchu od klienta). Na drugim komputerze Iperf uruchamia się w trybie klienta, zaczyna generować ruch TCP / UDP i mierzy maksymalną szybkość transmisji danych.

Obecnie równolegle rozwijają się dwie niezależne gałęzie iperf: iperf2) i iperf3). Ogólnie rzecz biorąc, te dwie wersje iperf są ze sobą kompatybilne, ale domyślnie używają różnych portów. W iperf1 / 2 jest to 5001, w iperf3 - 5201.

  • iperf2 musi być używany do równoległych wątków, testów dwukierunkowych, a ta wersja jest oficjalnie obsługiwana w systemie Windows
  • Iperf3 ma lepszą implementację szybkiego testowania UDP. Kod Iper3 jest znacznie mniejszy i lepiej zoptymalizowany.

Pozostałe różnice nie są tak znaczące, aby konkretnie używać konkretnej wersji (nawet opcje uruchamiania są dla nich takie same). W tym artykule wykorzystamy iperf3.

Iperf3 nie jest oficjalnie obsługiwany w systemie Windows, ale działa całkiem dobrze. Nie zauważyłem żadnych oczywistych problemów ani błędów.

Zainstaluj iPerf dla Windows

Możesz pobrać iperf 3.1 dla Windows na https://iperf.fr/iperf-download.php lub wersję iperf2 (tutaj). Wystarczy pobrać archiwum iperf i rozpakować je do lokalnego katalogu na dysku. Instalacja narzędzia nie jest wymagana, w archiwum są tylko dwa pliki: cygwin1.dll i iperf3.exe.

Istnieje kilka implementacji GUI dla systemu Windows. Na przykład, Iperf3-Cygwin-GUI i jperf.

Utility jperf napisane w Javie (aby komputer działał, musi być zainstalowany komputer Java). Oprócz graficznych nitów do interfejsu CLI, Jperf może wykreślić wykresy przepustowości kanału komunikacyjnego w czasie rzeczywistym.

Aby użyć, wystarczy wpisać adres serwera iPerf i uruchomić sprawdzanie.

Galeria skryptów PowerShell ma osobny moduł iPerfAutomate, które można wykorzystać do uzyskania danych pomiaru wydajności sieci ze skryptów PowerShell. Możesz zainstalować moduł w następujący sposób: Install-Module -Name iPerfAutomate

Zainstaluj iperf na CentOS Linux

W CentOS 8 pakiet iperf3 jest zawarty w podstawowym repozytorium AppStream (w CentOS 7, iperf3 jest w EPEL). Możesz zainstalować go za pomocą standardowej komendy yum / dnf:

# dnf zainstaluj iperf3

W dystrybucjach Debian / Ubuntu możesz zainstalować narzędzie iperf3 za pomocą polecenia:

sudo apt install iperf3

Jeśli planujesz używać tego serwera Linux jako serwera iperf3, musisz otworzyć port 5201 w firewalld:

# firewall-cmd --permanent --add-port = 5201 / tcp
# firewall-cmd --permanent --add-port = 5201 / udp
# firewall-cmd --reload

Pomiar prędkości sieci za pomocą Iperf

Spójrzmy na kilka przykładów użycia iperf do testowania przepustowości sieci. W tym przykładzie użyjemy serwera z CentOS jako serwerem iperf. Uruchom narzędzie iperf w trybie serwera:

# iperf3 -s

Serwer iperf działa, czeka na połączenie na porcie TCP / 5201.

Serwer nasłuchuje na 5201
Jest ważne. W argumentach narzędzia iperf rozróżniana jest wielkość liter!

Możesz uruchomić serwer iperf z dużym rozmiarem okna TCP i na innym porcie:

# iperf3 -s -w 32768 -p 5203

-w 32768 - ustaw rozmiar okna TCP na 32 KB (domyślnie jest to około 8 KB)

-p 5203 - port, na którym iperf czeka na połączenie (przypominam, że iperf2 domyślnie nasłuchuje na porcie 5001.  

Jako klient iperf używam komputera z systemem Windows 10. Uruchom wiersz polecenia i przejdź do katalogu z plikiem wykonywalnym iperf:

cd c: \ tools \ iperf

Aby rozpocząć skanowanie sieci po stronie klienta, podaj adres (nazwę) serwera iperf:

iperf3.exe -c 192.168.1.202

Jeśli uruchomiłeś serwer iperf ze zwiększonym rozmiarem okna TCP, możesz użyć następującego polecenia, aby uzyskać maksymalne obciążenie sieci:

iperf3.exe -c 192.168.1.202-P 8-t 30-w 32768

  • -c168.1.202 - Adres IP serwera Iperf;
  • -w 32768 - zwiększyć rozmiar okna TCP;
  • -t 30 - czas w sekundach, w którym przeprowadzane są testy (domyślnie 10 sekund);
  • -P. 8 - liczba równoległych wątków (połączeń), użyta do uzyskania maksymalnego obciążenia na kanał.

W naszym przykładzie test trwał 30 sekund. W raporcie końcowym interesują nas wartości kolumn Przepustowość w ostatniej linii [SUMA]. W naszym przypadku średnia przepustowość sieci między dwoma węzłami wynosi 79,7 Mb / s. Przesłano 285 MB danych (kolumna Przeniesienie).

Za pomocą argumentu -f Możesz zmienić format wyświetlania prędkości transmisji (bity, kilobity, megabajty). Korzystanie z opcji -ja Możesz określić interwał, w którym chcesz wyświetlać wyniki pośrednie. Jest to wygodne w przypadku długich testów (kilka minut, godzin).

Możesz uruchomić iperf w trybie wstecznym (serwer wysyła dane, a klient akceptuje), w tym celu opcja jest wskazana na kliencie -R.

Domyślnie narzędzie generuje ruch TCP, jeśli chcesz sprawdzić szybkość sieci dla pakietów UDP, musisz użyć klucza -u (serwer jest uruchamiany za pomocą polecenia: iperf3 -s -u).

Jeśli chcesz sprawdzić swój kanał internetowy (dostarczony przez dostawcę), możesz użyć jednego z publicznych serwerów iperf (lista jest dostępna tutaj):

iperf3 -c iperf.it-north.net

Jeśli musisz ocenić przepustowość sieci w obu kierunkach (w trybie dupleksowym), musisz dodatkowo określić opcję na kliencie -d:

iperf3.exe -c IP -P 8 -t 30 -w 32768 -d

Podczas sete testu przy użyciu iperf można monitorować obciążenie sieci przez przerwanie w sieci za pomocą Menedżera zadań.

Ważne jest, aby pamiętać, że podczas testowania Iperf używamy wszystko dostępna przepustowość kanału komunikacyjnego między klientem a serwerem, co może negatywnie wpłynąć na produktywne aplikacje i użytkowników.

Pełną listę opcji narzędzia iperf można uzyskać w następujący sposób:

iperf3 -help

Iperf - Proste i wygodne narzędzie sieciowe, które pomaga mierzyć wydajność połączenia sieciowego i maksymalną prędkość przesyłania danych między dwoma urządzeniami.