IPerf - narzedzie do testowania

Jest bardzo prostym, skutecznym i darmowym narzędziem systemowym do testowania przepustowości łącza internetowego, zastosujemy go do sprawdzania wydajności sieci, dzięki niemu możemy pozwolić sobie na testy ze swobodną kontrolą wielu parametrów transmisji. Obsługuje połączenia multicastowe oraz IPv6, daje także możliwość ustalania stałej prędkości podczas wykonywania testów i pozwala na wykonanie ich symetrycznie. Najczęściej jednak wykorzystywany jest przez adminów do sprawdzania przepustowości łącza poprzez pomiar wykorzystujący pasma TCP oraz UDP.iPhone iPad telefony i tablety z Androidem Windows Linux MacOS
Jak to działa?
Funkcjonalnie został zaprojektowany na zasadzie KLIENT-SERWER, czyli podczas wykonywania testów musimy mieć dostępne dwa urządzenia, jedno jako serwer, drugie jako klient z którego wykonujemy testy. Obecnie możemy się spotkać z dwoma wersjami IPerf2 i IPerf3 różnice między nimi to przede wszystkim różne sposoby wyświetlania wyników i pewne rozbieżności z wielowątkowością (nawiązywaniu wielu połączeń przez klienta), wielu specjalistów zwraca jednak uwagę na brak kompatybilności między wersjami programu, testów nie da się połączyć bo serwer IPerf2 nie nawiąże komunikacji z serwer IPerf3 i na odwrót. Największą zaletą IPerf3 jest obsługa wielowątkowości, dzięki temu pozwala testować połączenia o przepustowości powyżej 1Gbps.Na jakich platformach to działa?
Program może być uruchamiany na wielu platformach/systemach operacyjnych:Instalacja i uruchomienie IPerf3
My zajmiemy się przetestowaniem IPerf3 po zainstalowaniu pod windowsem i na androidzie . Jako cel obierzemy sobie dwa scenariusze testowe:
Rozpoczniemy od instalacji programu pod systemem operacyjnym Windows. Pobieramy go ze strony : IPref3 w zależności od tego jaki system operacyjny Windows posiadacie taką wersję pobierzcie.
- Test jako protokół UDP
- Test jako protokół TCP
Rozpoczniemy od instalacji programu pod systemem operacyjnym Windows. Pobieramy go ze strony : IPref3 w zależności od tego jaki system operacyjny Windows posiadacie taką wersję pobierzcie.

Zapisujemy i rozpakowujemy zawartość w wybranym miejscu na dysku. Uruchamiamy wiersz poleceń. Warto pamiętać gdzie go zapisaliśmy, bo będzie nam to potrzebne do uruchomienia programu.

My zainstalowaliśmy go na dysku C: w katalogu IPerf3.

Ważne dla nas podczas testów będą te parametry:
-c - klient
-s -serwer
-t - czas
-i - interwał czasowym
-b - prędkość
-P - liczba testów
-R – odwrócenie kierunków
-u – zmiana protokołu
-c - klient
-s -serwer
-t - czas
-i - interwał czasowym
-b - prędkość
-P - liczba testów
-R – odwrócenie kierunków
-u – zmiana protokołu
Testy programu IPerf3 na protokole TCP - system operacyjny Windows
I Kierunki
Aby zacząć potrzebne nam będą dwa dostępne urządzenia: jedno jako klient drugie jako serwer. IPerf3 w trybie serwer uruchamiamy na komputerze/serwerze do którego chcemy testować połączenie. W naszym przypadku uruchomiliśmy iperf3 w trybie serwer na urządzeniu QNAP NAS (urządzenie pod kontrolą Linux). Bardzo wazna jest znajomość adresów IP urządzeń między którymi testujemy. IPerf3 na prawie wszystkich systemach operacyjnych uruchamiamy tak samo, poprzez wydanie komendy ”iperf3 -s”, w przypadku systemu windows to będzie wyglądać następująco:
Kliknij aby powiększyć! Komunikat, który nam się wyświetlił mówi nam, że nasz serwer nasłuchuje domyślnie właśnie na porcie 5201, teraz przechodzimy na urządzenie, z którego chcemy testować połączenia i uzyskiwane prędkości.
Kliknij aby powiększyć! Wyświetlany wynik z przykładu interpretujemy następująco: Klient (192.168.50.95) rozpoczął transmisję z portu źródłowego 49834 do serwera (192.168.50.15) na port docelowy 5201, w domyślnym czasie testy, który wynosi 10 sekund, klient testu wysł 898MB a średnia przepustowość tego łącza to 753Mb/sek.
Możemy również odwrócić sytuacje, serwer w takim wypadku będzie wysyłał pakiety a Klient je odbierał. Test w tym wypadku wykonamy za pomocą komendy:
Kliknij aby powiększyć! II Określanie czasu trwania testu
Standardowo program robi test przez 10 sekund, ale jeśli chcemy go samodzielnie wydłużyć lub skrócić oczywiście jest to możliwe. Do tego testu zastosujemy komendę:
Kliknij aby powiększyć! Możemy również zmieniać czas między interwałami(przedziałami) czasowymi w trakcie testu podstawo to 1 sekunda (ustalamy ja na 2 sekundy), wzór komendy ogólnej:
Kliknij aby powiększyć! III Maksymalna prędkość/przepustowość
Używając parametru „-b” możemy definiować maksymalną prędkość, np. na łączu fizycznym 1Gbps możemy ograniczyć prędkość testu do 100Mbit/s. Podanie wartości „100m” do parametru „-b” określa, wartość odpowiadają prędkości 100Mbit/s.
Kliknij aby powiększyć! IV Ilość strumieni/testy równoległe
Dla symulowania typowego ruchu internetowego od klienta lub wielu klientów pomaga użycie opcji „-P”, która określa ilość testów równoległych jakie możemy przeprowadzić też zależy tylko od nas (w teście 2), ustawiamy go komendą:
Kliknij aby powiększyć! interwału czasowego (zastosujmy 4 testy i ograniczymy je do 2 minut) , komenda :
Kliknij aby powiększyć! Testy na protokole UDP- system operacyjny Windows
Bez podania parametru IPerf3 wykonuje testy za pomocą protokołu TCP. Jeśli chcemy testować za pomocą protokołu UDP musimy użyć parametru „-u”.Testy od strony Klienta uruchamiamy poleceniem:
iperf3 -c IP_serwera -u
Kliknij aby powiększyć!
Interpretując wynik: przy teście trwającym 10 sekund wysłano 1,25MB , przepustowość łącza kształtowała się na poziomie 1,05Mb/s, w teście pojawiły się dodatkowe informacje takie jak: ilość pakietów wysłanych , ilość zagubionych oraz współczynnik krótkookresowego odchylenia od normy opóźnienia.
Tak samo jak przy protokole TCP w UDP , również możemy odwrócić sytuację i sprawdzić z jaką przepustowością serwer będzie wysyłał dane do klienta a z jaką prędkością on je odbierze. Komenda będzie wyglądała w ten sposób:
iperf3 -c IP_serwera -u -R
Kliknij aby powiększyć!
iperf3 -c IP_serwera -u -t liczba_sekund
Kliknij aby powiększyć!
Możemy również ustawić interwał czasowy dla protokołu UDP, stosując komendę:
iperf3 -c IP_serwera -u -i liczba_sekund
Kliknij aby powiększyć!
iperf3 -c IP_serwer -u -b ilość_w_mbitach
Kliknij aby powiększyć!
iperf3 -c IP_serwera -u -P ilość_testów
Kliknij aby powiększyć!
pomiary te możemy również ograniczyć w czasie komenda:
iperf3 -c IP_serwera -u -P ilość_testów -i ilość_sekund
Kliknij aby powiększyć!
I Kierunki
Kliknij aby powiększyć! Interpretując wynik: przy teście trwającym 10 sekund wysłano 1,25MB , przepustowość łącza kształtowała się na poziomie 1,05Mb/s, w teście pojawiły się dodatkowe informacje takie jak: ilość pakietów wysłanych , ilość zagubionych oraz współczynnik krótkookresowego odchylenia od normy opóźnienia.
Tak samo jak przy protokole TCP w UDP , również możemy odwrócić sytuację i sprawdzić z jaką przepustowością serwer będzie wysyłał dane do klienta a z jaką prędkością on je odbierze. Komenda będzie wyglądała w ten sposób:
Kliknij aby powiększyć! II Określenie czasu trwania testu
Możemy sobie dowolnie zmieniać ten parametr, tak samo jak w protokole TCP. Ogólny schemat polecenia uruchomienia testu to:
Kliknij aby powiększyć! Możemy również ustawić interwał czasowy dla protokołu UDP, stosując komendę:
Kliknij aby powiększyć! III Maksymalna prędkość/przepustowość
Również i tę zmienną swobodnie określimy testując łącze w paśmie UDP (ustalamy ja na 100Mbitów) otrzymamy to za pomocą komendy:
Kliknij aby powiększyć! IV Ilość strumieni/testów równoległych
Tak jak przy protokole TCP możemy przeprowadzić tyle testów równoległych ile chcemy, ogólna komenda:
Kliknij aby powiększyć! pomiary te możemy również ograniczyć w czasie komenda:
Kliknij aby powiększyć! Testy na telefonach i tabletach z systemem ANDROID
Zajmiemy się teraz testami w oparciu o te same parametry ale na systemie operacyjnym Android, postaramy się w lekki sposób przekazać niezbędną wiedzę do samodzielnej pracy.
Z tej strony wybieramy jedną z dwóch aplikacji zgodnych z wersję IPerf3, w naszym przypadku zaprezentujemy pierwszą aplikacje:
Kliknij aby powiększyć!
Zostaniemy automatycznie przekierowani do sklepu google play gdzie bezpłatnie pobierzemy darmową aplikację która umożliwi nam korzystanie z IPerf3.
Kliknij aby powiększyć!
Gdy ją zainstalujemy, wybieramy z menu iperf3.
Kliknij aby powiększyć!
Nie będziemy się skupiali nad dokładnym opisem aplikacji bo nie o to chodzi, jedynie skrótowo podamy że można też niektóre opcje po prostu wyklikać za pomocą ikonek:
Kliknij aby powiększyć! 1. interwał czasowy
2. określenie prędkość
3. wybór protokołu transmisji
4. wybór protokołu komunikacji
5. okno do wpisywania polecenia testu (parametrów iperf3)
Tak jak w poprzednich testach z IPerf3 skupimy się na kierunku, określaniu czasu, przeprowadzimy testy z zadaną prędkością maksymalną, oraz sprawdzimy czy możliwe jest przeprowadzenie testów równoległych.
-c IP_serwera
Kliknij aby powiększyć!
Odwrotny kierunek czyli serwer wysyła pakiety które odbiera klient, osiągamy komendą:
-c IP_serwera -R
Kliknij aby powiększyć!
-c IP_serwera -t ilość_sekund
Kliknij aby powiększyć!
Możemy też za pomocą wzoru określić przerwy (interwały) czasowe w trakcie testu:
-c IP_serwera -i liczba_sekund
Kliknij aby powiększyć!
-c IP_serwera -b ilość_m
Kliknij aby powiększyć!
-c IP_serwer -P ilość_testów
Kliknij aby powiększyć!
Tak samo jak wcześniej również da się je łatwo ograniczyć poprzez zastosowanie interwału czasowego:
-c IP_serwera -P ilość_testów -i ilość_sekund
Kliknij aby powiększyć!
Z tej strony wybieramy jedną z dwóch aplikacji zgodnych z wersję IPerf3, w naszym przypadku zaprezentujemy pierwszą aplikacje:
Kliknij aby powiększyć! Zostaniemy automatycznie przekierowani do sklepu google play gdzie bezpłatnie pobierzemy darmową aplikację która umożliwi nam korzystanie z IPerf3.
Kliknij aby powiększyć! Gdy ją zainstalujemy, wybieramy z menu iperf3.
Kliknij aby powiększyć! Nie będziemy się skupiali nad dokładnym opisem aplikacji bo nie o to chodzi, jedynie skrótowo podamy że można też niektóre opcje po prostu wyklikać za pomocą ikonek:
Kliknij aby powiększyć! 2. określenie prędkość
3. wybór protokołu transmisji
4. wybór protokołu komunikacji
5. okno do wpisywania polecenia testu (parametrów iperf3)
Tak jak w poprzednich testach z IPerf3 skupimy się na kierunku, określaniu czasu, przeprowadzimy testy z zadaną prędkością maksymalną, oraz sprawdzimy czy możliwe jest przeprowadzenie testów równoległych.
I Kierunki
Test daje się bardzo szybko przeprowadzić, polecenie jest bardzo krótka:
Kliknij aby powiększyć! Odwrotny kierunek czyli serwer wysyła pakiety które odbiera klient, osiągamy komendą:
Kliknij aby powiększyć! II Określenie czasu trwania
Stosując komendę jak poniżej określimy czas trwania testu:
Kliknij aby powiększyć! Możemy też za pomocą wzoru określić przerwy (interwały) czasowe w trakcie testu:
Kliknij aby powiększyć! III Maksymalna prędkość
W prosty i łatwy sposób zadamy również maksymalną prędkość:
Kliknij aby powiększyć! IV Ilość strumieni/testów
Ilość testów określimy w bardzo podobny sposób:
Kliknij aby powiększyć! Tak samo jak wcześniej również da się je łatwo ograniczyć poprzez zastosowanie interwału czasowego:
Kliknij aby powiększyć! Protokół UDP na androidzie
I Kierunek
Polecenie do testu prędkości od Klienta do serwera:
Kliknij aby powiększyć! Niestety nie udało nam się wywołać za pomocą tej aplikacji odwrotnego kierunku.
II Określenie czasu trwania
Polecenie wywołania:
Kliknij aby powiększyć! Komenda wywołania z zastosowaniem interwału czasowego:
Kliknij aby powiększyć! III Maksymalna prędkość
Identycznie jak wcześniej taki test zrobimy przeprowadzimy wprowadzając zadaną prędkość maksymalną:
Kliknij aby powiększyć! IV Ilość strumieni/testów
W całkowicie znany i utrwalony sposób i przy tym protokole łatwo zadamy ilość testów równoległych:
Kliknij aby powiększyć! Jak i również poprzedzielamy je przedziałami czasowymi:
Kliknij aby powiększyć! Ocena pracy IPerf3 i wyniki
Oczywiście mamy wiele różnych aplikacji dzięki którym przeprowadzimy testy za pomocą programu iperf3 przez smartfona czy tablet, ale mamy nadzieję że za pomocą tej z której skorzystaliśmy wprowadziliśmy was ogólnie w temat. Reasumując Iperf3 to świetne narzędzie testowe, dzięki możliwości zastosowania zmiany wielu parametrów daje nam bardzo duże możliwości wykonania pomocnych testów i pozwolą w szybki sposób na ocenę przepustowości i wydajności sieci.









