Jak zainstalować iPerf na Windows
Nie ma oficjalnego instalatora iPerf3 na Windows, ale jedno polecenie daje Panu utrzymywaną kompilację:
winget install -e --id ar51an.iPerf3
Jeśli woli Pan nie korzystać z menedżera pakietów, ręczną drogą jest pobranie utrzymywanej kompilacji innego producenta jako zip, wypakowanie jej do folderu i uruchomienie iperf3 z tego folderu w terminalu (lub dodanie folderu do PATH). Tak czy inaczej, proszę przepuścić go przez Zaporę Windows Defender, jeśli uruchamia go Pan jako serwer. Poniższe kroki obejmują obie drogi oraz pułapki, które łapią ludzi.
iPerf mierzy surową przepustowość sieci między dwiema kontrolowanymi przez Pana maszynami, co czyni go uczciwym narzędziem do twierdzeń "łącze jest wolne": bez przeglądarki, bez serwera testowego innego producenta z nastrojami, po prostu Pana dwa punkty końcowe. Jest podstawowym narzędziem dla instalatorów i inżynierów sieciowych i działa wyłącznie z wiersza poleceń.
Dlaczego nie ma oficjalnej wersji na Windows?
iPerf3 jest tworzony przez ESnet, a jego jedynymi oficjalnie wspieranymi platformami są Linux, FreeBSD i macOS. ESnet nie wspiera Windows ani nie dystrybuuje plików binarnych dla Windows, więc wszystko, co znajdzie Pan dla Windows, to kompilacja innego producenta, większość z nich skompilowana względem Cygwina, więc zip zawiera iperf3.exe wraz z jednym lub kilkoma plikami .dll, których potrzebuje. To także pierwsza pułapka: exe nie działa, jeśli skopiuje go Pan gdzieś bez jego bibliotek DLL. Proszę trzymać wypakowany folder w całości.
Proszę uważać, skąd Pan pobiera. Kilka stron, które dobrze plasują się dla "iperf windows", zawiera kompilacje sprzed lat. Proszę wybrać utrzymywane źródło: kompilacje społecznościowe publikowane na GitHub są aktualne, a główne menedżery pakietów również czerpią z utrzymywanych źródeł. Stare kompilacje z ery 3.1.x mają znane osobliwości pomiarowe na Windows i warto ich unikać.
Czy w ogóle używać iPerf3 na Windows?
Zorientowany czytelnik zwróci uwagę, że własne FAQ ESnet zaleca iperf2 na Windows i że Microsoft opublikował artykuł zatytułowany Trzy powody, dla których nie należy używać iPerf3 na Windows. Oba są prawdziwe i oba zasługują na uczciwą odpowiedź. Duża część tej krytyki dotyczy nieaktualnej kompilacji 3.1.x, która krążyła przez lata, a której dołączona biblioteka DLL Cygwina ograniczała bufor gniazda i zniekształcała odczyty przepustowości; obecne utrzymywane kompilacje to naprawiły, a własny artykuł Microsoftu przyznaje, że do ogólnego testowania przepustowości narzędzie oparte na Cygwinie jest w porządku, rezerwując swoje zastrzeżenia dla laboratoryjnych testów porównawczych i symulowania zachowania natywnej aplikacji.
Bardziej praktycznie, iperf2 i iPerf3 to osobne, niekompatybilne protokoły, a ekosystem serwerów publicznych i większość nowoczesnych narzędzi standaryzują się na iPerf3, więc jeśli rzecz, którą Pan testuje, działa na iPerf3, klient iperf2 jest Panu bezużyteczny. To samo dotyczy sugerowanych przez Microsoft alternatyw, ntttcp i ctsTraffic: obie potrzebują własnego narzędzia na każdym końcu i nie mogą rozmawiać z serwerem iPerf, co czyni je narzędziami laboratoryjnymi dla kontrolowanych przez Pana punktów końcowych, a nie narzędziami terenowymi do testowania względem rzeczywistych punktów końcowych iPerf3.
Proszę użyć aktualnej kompilacji i testować względem serwera, który Pan kontroluje, a iPerf3 na Windows mierzy uczciwie.
Jak zainstalować go ręcznie?
Proszę pobrać zip dla Windows z utrzymywanego źródła i wypakować go gdzieś sensownie, na przykład do C:\Tools\iperf3. To cała instalacja. Proszę otworzyć Terminal lub PowerShell, przejść do tego folderu i potwierdzić, że działa:
cd C:\Tools\iperf3
.\iperf3.exe --version
Uruchamianie go z własnego folderu jest w porządku do jednorazowego użycia w terminalu, ale aby uruchamiać iperf3 z dowolnego miejsca, potrzebuje Pan folderu na PATH: proszę kliknąć Start, wpisać "zmienne środowiskowe", edytować Path w zmiennych użytkownika, dodać folder iperf3, a następnie otworzyć nowy terminal. Nexus Telemetry Pro znajduje iperf3 w ten sam sposób, przez PATH, więc jeśli instaluje Pan ręcznie i chce, aby klient iPerf w Pro działał, ten krok jest wymagany. To jedyna rzecz, którą winget robi za Pana, a której zip nie robi.
Jak zainstalować go za pomocą menedżera pakietów?
Najprostszą działającą drogą na aktualnej maszynie z Windows jest winget, który jest wbudowany, czerpie utrzymywaną kompilację społecznościową i obsługuje PATH za Pana:
winget install -e --id ar51an.iPerf3
Następnie proszę otworzyć nowy terminal i potwierdzić, sprawdzić lub usunąć go za pomocą:
iperf3 --version # confirm it works
winget list iperf3 # see what is installed
winget uninstall --id ar51an.iPerf3 # remove it cleanly
Jeśli zamiast tego używa Pan Chocolatey, choco install iperf3 z terminala z podwyższonymi uprawnieniami daje Panu to samo narzędzie wiersza poleceń.
Jak przeprowadzić test?
iPerf potrzebuje dwóch końców: serwera i klienta. Na maszynie pełniącej rolę serwera:
iperf3 -s
Za pierwszym razem, gdy Pan to zrobi, Zapora Windows Defender wyświetli monit albo połączenie po cichu się nie powiedzie, jeśli monit zostanie pominięty. Tryb serwera domyślnie nasłuchuje na porcie TCP 5201, więc proszę przepuścić iperf3 przez zaporę dla sieci prywatnych lub dodać regułę przychodzącą dla portu 5201. To najczęstszy powód, dla którego test iPerf "nie działa" na Windows.
Na maszynie klienta proszę wskazać adres IP serwera:
iperf3 -c 192.168.1.50
To uruchamia dziesięciosekundowy test wysyłania od klienta do serwera. Proszę dodać -R, aby odwrócić kierunek i przetestować pobieranie, oraz -t 30 dla dłuższego testu. Testowanie w obu kierunkach ma znaczenie na Starlink, gdzie pobieranie i wysyłanie to zupełnie różne bestie.
A co z publicznymi serwerami iPerf?
Istnieją i są najmniej niezawodną częścią ekosystemu. Publiczne serwery są często zajęte, z ograniczeniem szybkości lub po prostu nieosiągalne, więc nieudany test względem jednego nie dowodzi niczego o Pana połączeniu. Proszę traktować publiczne serwery jako wygodę, gdy działają, a serwer, który Pan kontroluje (maszyna w biurze, VPS, Raspberry Pi na drugim końcu łącza), jako rzeczywisty pomiar.
Łatwiejsza droga do testowania Starlink
Jeśli powodem, dla którego chce Pan iPerf, jest testowanie połączenia Starlink, Nexus Telemetry Pro ma klienta iPerf wbudowanego w diagnostykę: proszę wybrać serwer, ustawić port, czas trwania i kierunek, i uruchomić go obok pingu, traceroute, DNS i kontroli portów, z zachowanymi ostatnimi wynikami do porównania. Pro steruje iperf3 w Pana systemie, więc trzeba go najpierw zainstalować i upewnić się, że jest na PATH; polecenie winget powyżej robi oba w jednym kroku. Stamtąd wyniki trafiają w to samo miejsce co reszta telemetrii połączenia. Narzędzie wiersza poleceń pozostaje właściwym wyborem, gdy kontroluje Pan oba końce i chce skryptowych, powtarzalnych przebiegów.
Dodawanie własnego serwera iPerf
Ponieważ publiczne serwery są niepewną częścią, Pro pozwala Panu prowadzić listę własnych. Proszę otworzyć Zarządzaj serwerami iPerf i w Moje serwery dodać jeden z nazwą, hostem i portem; pozostaje on w liście rozwijanej dla każdego przyszłego testu. Wyselekcjonowane serwery publiczne znajdują się poniżej, za przełącznikiem i wyraźnie oznaczone swoim limitem 60 sekund, więc wynik z ograniczeniem szybkości nigdy nie zostanie pomylony z wolnym łączem.
Jeden ważny punkt, który sygnalizuje okno dialogowe: iPerf domyślnie działa bez uwierzytelniania, więc serwer pozostawiony dostępny w otwartym internecie to serwer, przeciwko któremu każdy może kierować ruch. Proszę umieścić go w Tailscale (100.x.x.x) lub VPN, aby sieć nakładkowa ograniczyła dostęp do Pana własnych urządzeń, i podać Pro ten adres zamiast publicznego.
Wersja skrócona
Proszę pobrać utrzymywaną kompilację innego producenta jako zip, wypakować ją do folderu i uruchomić iperf3 z terminala w tym folderze, dodając folder do PATH, aby działał wszędzie (i aby Nexus Telemetry Pro mógł go znaleźć). Jeszcze prościej, jedno polecenie wykonuje całą pracę, wraz z PATH:
winget install -e --id ar51an.iPerf3
Proszę przepuścić go przez zaporę przed uruchomieniem jako serwer, trzymać biblioteki DLL obok exe, unikać nieaktualnych pobrań i nie ufać publicznym serwerom. Do diagnostyki Starlink Pro opakowuje ten sam iperf3 w klienta z wyborem serwera i historią wyników.
Część Starlink dla instalatorów i profesjonalistów. Nexus Telemetry jest tworzony przez Liquidbinary Ltd, zespół stojący za pierwszą platformą zarządzania Starlink Enterprise. Pro działa natywnie na Windows, macOS i Linux z bezpłatnym okresem próbnym.