Як встановити iPerf на Windows
Офіційного інсталятора iPerf3 для Windows немає, але одна команда дає підтримувану збірку:
winget install -e --id ar51an.iPerf3
Якщо волієте не користуватися менеджером пакетів, ручний спосіб полягає в тому, щоб завантажити підтримувану сторонню збірку як zip, розпакувати її в теку та запускати iperf3 з тієї теки в терміналі (або додати теку до PATH). У будь-якому разі дозвольте йому проходити через Windows Defender Firewall, якщо запускаєте його як сервер. Кроки нижче охоплюють обидва способи та підступи, що збивають людей.
iPerf вимірює чисту пропускну здатність мережі між двома машинами під вашим контролем, що робить його чесним інструментом для тверджень «канал повільний»: жодного браузера, жодного стороннього тестового сервера з настроями, лише ваші дві кінцеві точки. Це основа для монтажників і мережевих інженерів, і він працює лише з командного рядка.
Чому немає офіційної версії для Windows?
iPerf3 розробляє ESnet, і його єдині офіційно підтримувані платформи: Linux, FreeBSD та macOS. ESnet не підтримує Windows і не поширює двійкові файли для Windows, тож усе, що знайдете для Windows, є сторонньою збіркою, більшість із них скомпільовані під Cygwin, тож zip містить iperf3.exe разом з одним чи кількома файлами .dll, які йому потрібні. Це також перший підступ: exe не працює, якщо скопіювати його кудись без його DLL. Тримайте розпаковану теку разом.
Будьте обережні, звідки завантажуєте. Кілька сайтів, що добре ранжуються за «iperf windows», пропонують збірки, застарілі на роки. Віддавайте перевагу підтримуваному джерелу: спільнотні збірки, опубліковані на GitHub, актуальні, і головні менеджери пакетів теж тягнуть із підтримуваних джерел. Старі збірки епохи 3.1.x мають відомі особливості вимірювань на Windows, і їх варто уникати.
Чи варто взагалі використовувати iPerf3 на Windows?
Обізнаний читач зауважить, що власний FAQ ESnet рекомендує iperf2 на Windows і що Microsoft опублікувала матеріал під назвою Три причини, чому не варто використовувати iPerf3 на Windows. Обидва реальні, і обидва заслуговують на пряму відповідь. Значна частина цієї критики стосується застарілої збірки 3.1.x, що роками циркулювала, чия вбудована Cygwin DLL обмежувала буфер сокета та спотворювала показання пропускної здатності; сучасні підтримувані збірки це виправили, а власний матеріал Microsoft визнає, що для загального тестування пропускної здатності інструмент на основі Cygwin є прийнятним, залишаючи свої заперечення для лабораторних бенчмарків і симуляції поведінки нативного застосунку.
Практичніше те, що iperf2 та iPerf3 є окремими, несумісними протоколами, а екосистема публічних серверів і більшість сучасного інструментарію стандартизовані на iPerf3, тож якщо те, з чим тестуєте, працює на iPerf3, клієнт iperf2 ні до чого. Те саме стосується запропонованих Microsoft альтернатив, ntttcp і ctsTraffic: обом потрібен власний інструмент на кожному кінці, і вони не можуть спілкуватися із сервером iPerf, що робить їх лабораторними інструментами для кінцевих точок під вашим контролем, а не польовими інструментами для тестування з реальними кінцевими точками iPerf3.
Використовуйте сучасну збірку, тестуйте із сервером під вашим контролем, і iPerf3 на Windows вимірює чесно.
Як встановити його вручну?
Завантажте zip для Windows із підтримуваного джерела та розпакуйте його кудись розумно, наприклад C:\Tools\iperf3. Це і є все встановлення. Відкрийте Terminal або PowerShell, перейдіть до тієї теки та переконайтеся, що він запускається:
cd C:\Tools\iperf3
.\iperf3.exe --version
Запускати його з власної теки нормально для разового використання в терміналі, але щоб запускати iperf3 звідусіль, теку треба додати до PATH: Пуск, наберіть «змінні середовища», відредагуйте Path у змінних користувача, додайте теку iperf3, потім відкрийте новий термінал. Nexus Telemetry Pro знаходить iperf3 так само, через PATH, тож якщо встановлюєте вручну й хочете, щоб клієнт iPerf у Pro працював, цей крок обов'язковий. Це єдине, що winget робить за вас, а zip ні.
Як встановити його за допомогою менеджера пакетів?
Найпростішим робочим способом на сучасній машині з Windows є winget: він вбудований, тягне підтримувану спільнотну збірку та опрацьовує PATH за вас:
winget install -e --id ar51an.iPerf3
Після цього відкрийте новий термінал і підтвердіть, перевірте чи видаліть його за допомогою:
iperf3 --version # confirm it works
winget list iperf3 # see what is installed
winget uninstall --id ar51an.iPerf3 # remove it cleanly
Якщо натомість користуєтеся Chocolatey, choco install iperf3 з термінала з підвищеними правами дає той самий інструмент командного рядка.
Як запустити тест?
iPerf потребує двох кінців: сервера та клієнта. На машині, що діє як сервер:
iperf3 -s
Першого разу Windows Defender Firewall видасть запит, або з'єднання тихо провалиться, якщо запит пропустити. Режим сервера слухає TCP-порт 5201 за замовчуванням, тож дозвольте iperf3 проходити через фаєрвол для приватних мереж або додайте вхідне правило для порту 5201. Це найпоширеніша причина, чому тест iPerf «не працює» на Windows.
На клієнтській машині спрямуйте його на IP-адресу сервера:
iperf3 -c 192.168.1.50
Це запускає десятисекундний тест вивантаження від клієнта до сервера. Додайте -R, щоб змінити напрямок і протестувати завантаження, і -t 30 для довшого тесту. Тестування в обох напрямках важливе на Starlink, де завантаження та вивантаження поводяться зовсім по-різному.
А як щодо публічних серверів iPerf?
Вони існують, і вони є найненадійнішою частиною екосистеми. Публічні сервери часто зайняті, з обмеженням швидкості чи просто недосяжні, тож невдалий тест на такому сервері нічого не доводить про ваше з'єднання. Ставтеся до публічних серверів як до зручності, коли вони працюють, і ставтеся до сервера під вашим контролем (машина в офісі, VPS, Raspberry Pi на іншому кінці каналу), як до справжнього вимірювання.
Простіший спосіб для тестування Starlink
Якщо iPerf потрібен саме для тестування з'єднання Starlink, Nexus Telemetry Pro має клієнт iPerf, вбудований у діагностику: оберіть сервер, задайте порт, тривалість і напрямок, і запустіть його поряд з ping, traceroute, DNS і перевірками портів, зі збереженням недавніх результатів для порівняння. Pro керує iperf3 у вашій системі, тож спершу встановіть його та переконайтеся, що він у PATH; команда winget вище робить обидва в один крок. Звідти результати потрапляють у те саме місце, що й решта телеметрії з'єднання. Інструмент командного рядка залишається правильним вибором, коли контролюєте обидва кінці й хочете скриптовані, повторювані запуски.
Додавання власного сервера iPerf
Оскільки публічні сервери є ненадійною частиною, Pro дозволяє тримати список власних. Відкрийте Керування серверами iPerf і в розділі «Мої сервери» додайте один з ім'ям, хостом і портом; він залишиться у випадному списку для кожного майбутнього тесту. Відібрані публічні сервери стоять нижче, за перемикачем і чітко позначені їхнім обмеженням у 60 секунд, тож обмежений результат ніколи не сплутати з повільним каналом.
На один важливий момент діалог звертає увагу окремо: iPerf працює без автентифікації за замовчуванням, тож сервер, залишений досяжним у відкритому інтернеті, це сервер, на якому будь-хто може запускати трафік. Розмістіть його в Tailscale (100.x.x.x) або VPN натомість, щоб накладна мережа обмежила доступ до ваших власних пристроїв, і дайте Pro цю адресу, а не публічну.
Стисла версія
Завантажте підтримувану сторонню збірку як zip, розпакуйте її в теку та запускайте iperf3 з термінала в тій теці, додавши теку до PATH, щоб він працював скрізь (і щоб Nexus Telemetry Pro міг його знайти). Ще простіше: одна команда робить усю роботу, включно з PATH:
winget install -e --id ar51an.iPerf3
Дозвольте йому проходити через фаєрвол перед запуском як сервера, тримайте DLL поруч із exe, уникайте застарілих завантажень і не довіряйте публічним серверам. Для діагностики Starlink Pro обгортає той самий iperf3 у клієнт із вибором сервера та історією результатів.
Частина Starlink для монтажників і професіоналів. Nexus Telemetry створено Liquidbinary Ltd, командою, що стоїть за першою платформою управління Starlink Enterprise. Pro працює нативно на Windows, macOS та Linux із безкоштовною пробною версією.