Narzędzia użytkownika

Narzędzia witryny


notatki:iperf

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Poprzednia rewizja po obu stronachPoprzednia wersja
Nowa wersja
Poprzednia wersja
notatki:iperf [2025/05/16 18:39] – usunięto - edycja zewnętrzna (Nieznana data) 127.0.0.1notatki:iperf [2025/05/16 18:39] (aktualna) administrator
Linia 1: Linia 1:
 +====== Network: iPerf ======
 +
 +{{ :narzedzia:jperf-2.0.2.zip |}}
 +
 +{{ :narzedzia:iperf3.18_64.zip |}}
 +
 +**iperf3** to otwarto-źródłowe narzędzie do testowania wydajności sieci (przepustowości łącza). Pozwala mierzyć maksymalną prędkość transmisji danych między dwoma punktami oraz dodatkowe parametry sieciowe (np. opóźnienie, wariacje opóźnienia, utratę pakietów). Działa w architekturze klient-serwer – na jednym hoście uruchamiany jest serwer (nasłuchujący), a na drugim klient inicjujący połączenie. iperf3 obsługuje zarówno protokół TCP, jak i UDP (lub nawet SCTP), a także IPv4 i IPv6. Jest dostępny na różnych systemach (Linux, Windows, VMware itp.) i zwykle instalowany z menedżera pakietów (np. ''%%apt%%'', ''%%yum%%'').
 +
 +===== Zasada działania =====
 +
 +  * **Architektura klient-serwer:** iperf3 wymaga uruchomienia instancji w trybie serwera (''%%-s%%'') na jednej maszynie i w trybie klienta (''%%-c %%'') na drugiej. Klient nawiązuje połączenie TCP do serwera (domyślnie na port 5201) i wysyła strumień danych, który serwer przyjmuje i mierzy. Test jest jednokierunkowy – domyślnie to klient wysyła dane do serwera. W trybie UDP (z opcją ''%%-u%%'') klient wysyła pakiety UDP z zadaną przepustowością (pomiar może uwzględniać utratę pakietów i zmienność opóźnienia). Przełącznik ''%%-R%%'' lub ''%%--reverse%%'' odwraca kierunek transmisji: połączenie i tak inicjuje klient, ale to serwer przesyła dane do klienta.
 +  * **Pojedyncze połączenie:** Serwer iperf3 akceptuje tylko jedno połączenie od razu (w przeciwieństwie do iperf2). Po zakończeniu testu serwer można ponownie połączyć, ewentualnie wielokrotnie uruchamiając serwer ponownie.
 +  * **Protokół TCP vs UDP:** W trybie TCP narzędzie mierzy przepustowość z uwzględnieniem kontroli przepływu i retransmisji (korzysta z buforów TCP), natomiast w trybie UDP wysyła pakiety bez potwierdzeń i może zadać maksymalną przepustowość za pomocą ''%%-b %%''. Domyślnie przy UDP ''%%iperf3%%'' ustawia 1 Mbit/s, a przy TCP brak limitu (test trwa domyślnie 10 s).
 +  * **Inne uwagi:** Można określić czas testu (''%%-t%%''), liczbę równoległych strumieni (''%%-P%%''), lub format wyjściowy (''%%--json%%''). Serwer i klient powinny użyć tych samych wartości portu (''%%-p%%''). Dodatkowo przydatne są flagi ''%%-4%%''/''%%-6%%'', by wymusić IPv4 lub IPv6.
 +
 +===== Najważniejsze opcje (parametry) =====
 +
 +  * **''%%-s%%'', ''%%--server%%''** – uruchamia iperf3 w trybie **serwera** nasłuchującego. Serwer nasłuchuje na porcie domyślnym 5201 (można zmienić z ''%%-p%%''). W trybie serwera program akceptuje jedno połączenie od klienta.
 +  * **''%%-c %%'', ''%%--client %%''** – uruchamia tryb **klienta**, łącząc się do wskazanego serwera. Parametr ''%%%%'' podaje adres IP lub nazwę serwera iperf3, do którego klient wysyła dane.
 +  * **''%%-t %%'', ''%%--time %%''** – długość trwania testu w sekundach. Domyślnie test trwa 10 s; opcja ''%%-t%%'' pozwala zmienić czas trwania.
 +  * **''%%-p %%'', ''%%--port %%''** – port TCP/UDP, na którym serwer nasłuchuje i do którego klient się łączy. Domyślnie jest to 5201. Użyte, gdy potrzebujemy niestandardowego portu (np. z powodu ograniczeń sieci).
 +  * **''%%-u%%'', ''%%--udp%%''** – włącza test w trybie **UDP** zamiast TCP. W trybie UDP można dodatkowo określić przepustowość pakietów przez opcję ''%%-b%%''.
 +  * **''%%-b %%'', ''%%--bandwidth %%''** – celowana przepustowość do transmisji. Format ''%%%%'' to np. ''%%100M%%'' dla 100 megabitów/s. Przy UDP ta wartość oznacza szybkość wysyłania pakietów (domyślnie 1Mbit/s), a przy TCP może ograniczać strumień (domyślnie “nieograniczony”).
 +  * **''%%-J%%'', ''%%--json%%''** – wynik testu wyświetlany w formacie JSON (przydatne do dalszej analizy).
 +  * **''%%--logfile %%''** – zapisuje wynik testu do wskazanego pliku, zamiast (lub obok) wyświetlania na ekranie.
 +  * **''%%-R%%'', ''%%--reverse%%''** – tryb **odwrócony**: klient inicjuje połączenie do serwera, ale to serwer wysyła dane do klienta. Pozwala zmierzyć prędkość ściągania (download), zachowując tę samą ścieżkę połączenia.
 +  * **''%%-V%%'', ''%%--verbose%%''** – szczegółowe informacje diagnostyczne o teście (opcjonalnie).
 +
 +