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.

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:
  • iPhone
  • iPad
  • telefony i tablety z Androidem
  • Windows
  • Linux
  • MacOS
  • Instalacja i uruchomienie IPerf3

    My zajmiemy się przetestowaniem IPerf3 po zainstalowaniu pod windowsem i na androidzie . Jako cel obierzemy sobie dwa scenariusze testowe:
    • Test jako protokół UDP
    • Test jako protokół TCP
    Postaramy się zwrócić waszą uwagę na pokazanie tego w jaki sposób określamy kierunek i czas testu , oraz czy faktycznie istnieje możliwości ustawienia podczas testu zadanej maksymalnej prędkości, a także jak określić ilość strumieni w danym teście. A więc do zabieramy się do testów.
    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.
    Pobieramy programu Kliknij aby powiększyć!
    Pobieramy programu
    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.
    Uruchomienia programu Kliknij aby powiększyć!
    Uruchomienia programu
    My zainstalowaliśmy go na dysku C: w katalogu IPerf3.
    My zainstalowaliśmy go na dysku C: w katalogu IPerf3. Kliknij aby powiększyć!
    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

    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:

    iperf3 -s
    iperf3 -s 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.

    Test po stronie klienta uruchamiamy komendą:
    iperf3 -c IP_serwera
    (IP_serwera to adres IP urządzenia, na którym wcześniej uruchomiliśmy test.)
    iperf3 -c IP_serwera 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:

    iperf3 -c IP_serwer -R
    iperf3 -c IP_serwer -R 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ę:

    iperf3 -c IP_serwera -t liczba_sekund
    (na przykładzie skróciliśmy go do 4 sekund)
    iperf3 -c IP_serwera -t liczba_sekund 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:

    iperf3 -c IP_serwera -i liczba-sekund
    iperf3 -c IP_serwera -i liczba-sekund 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.

    iperf3 -c IP_serwera -b ilość_w_mbitach
    iperf3 -c IP_serwera -b ilość_w_mbitach 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ą:

    iperf3 -c IP_serwera -P ilość_testów
    iperf3 -c IP_serwera -P ilość_testów Kliknij aby powiększyć!

    pomiary możemy jeszcze ograniczyć w czasie za pomocą
    interwału czasowego (zastosujmy 4 testy i ograniczymy je do 2 minut) , komenda :

    iperf -c IP_serwera -P ilość_testów -i ilość_sekund
    iperf -c IP_serwera -P ilość_testów -i ilość_sekund 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”.

    I Kierunki

    Testy od strony Klienta uruchamiamy poleceniem:

    iperf3 -c IP_serwera -u
    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
    iperf3 -c IP_serwera -u -R 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:

    iperf3 -c IP_serwera -u -t liczba_sekund
    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
    iperf3 -c IP_serwera -u -i liczba_sekund 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:

    iperf3 -c IP_serwer -u -b ilość_w_mbitach
    iperf3 -c IP_serwer -u -b ilość_w_mbitach 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:

    iperf3 -c IP_serwera -u -P ilość_testów
    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
    iperf3 -c IP_serwera -u -P ilość_testów -i ilość_sekund 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:
    Wybieramy aplikację 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.
    Aplikację z google play Kliknij aby powiększyć!

    Gdy ją zainstalujemy, wybieramy z menu iperf3.

    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:
    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.

    I Kierunki

    Test daje się bardzo szybko przeprowadzić, polecenie jest bardzo krótka:

    -c IP_serwera
    -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
    -c IP_serwera -R Kliknij aby powiększyć!

    II Określenie czasu trwania

    Stosując komendę jak poniżej określimy czas trwania testu:

    -c IP_serwera -t ilość_sekund
    -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
    -c IP_serwera -i liczba_sekund Kliknij aby powiększyć!

    III Maksymalna prędkość

    W prosty i łatwy sposób zadamy również maksymalną prędkość:

    -c IP_serwera -b ilość_m
    -c IP_serwera -b ilość_m Kliknij aby powiększyć!

    IV Ilość strumieni/testów

    Ilość testów określimy w bardzo podobny sposób:

    -c IP_serwer -P ilość_testów
    -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
    -c IP_serwera -P ilość_testów -i ilość_sekund Kliknij aby powiększyć!

    Protokół UDP na androidzie

    I Kierunek

    Polecenie do testu prędkości od Klienta do serwera:

    -c IP_serwera -u
    -c IP_serwera -u 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:

    -c IP_serwer -u -t liczba_sekund
    -c IP_serwer -u -t liczba_sekund Kliknij aby powiększyć!

    Komenda wywołania z zastosowaniem interwału czasowego:

    -c IP_serwer -u -i liczba_sekund
    -c IP_serwer -u -i liczba_sekund Kliknij aby powiększyć!

    III Maksymalna prędkość

    Identycznie jak wcześniej taki test zrobimy przeprowadzimy wprowadzając zadaną prędkość maksymalną:

    -c IP_serwer -u -b ilość_m
    -c IP_serwer -u -b ilość_m 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:

    -c IP_serwer -u -P ilość_testów
    -c IP_serwer -u -P ilość_testów Kliknij aby powiększyć!

    Jak i również poprzedzielamy je przedziałami czasowymi:

    -c IP_serwer -u -P ilość_testów -i ilość_sekund
    -c IP_serwer -u -P ilość_testów -i ilość_sekund 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.
    Sesja wygaśnie za:
    Sekund
    Po wygaśnięciu sesji zostaniesz wylogowany
    Wybierz inny kraj lub region, aby robić zakupy w odpowiadającym Ci języku
    Nasza strona korzysta z plików cookies (tzw. "ciasteczek"). Więcej na temat tych plików, a także na temat przetwarzania przez nas Twoich danych osobowych, znajdziesz w naszej Polityce prywatności.
    Ulubione
    Jesteś na stronie dla kraju / regionu:
    Polski (PL)
    Wybierz inny kraj lub region aby robić zakupy w odpowiadającym Ci języku.