Установка iperf3 на windows 10

iPerf.fr

iPerf — The ultimate speed test tool for TCP, UDP and SCTPTest the limits of your network + Internet neutrality test

Table of contents :

  1. Download iPerf for Windows
  2. Download iPerf3 for Android
  3. Download iPerf3 for iPhone / iPad
  4. Download iPerf3 for Apple macOS
  5. Download iPerf for Ubuntu / Debian / Mint
  6. Download iPerf for Fedora / Red Hat / CentOS
  7. Download iPerf for openSUSE
  8. Download iPerf for Arch Linux
  9. Download iPerf for FreeBSD
  10. iPerf3 server log script
  11. iPerf C++ source
  12. How to perform a more recent installation of Iperf than the one included in Ubuntu / Debian / Mint ?


Note that iPerf3 is not backwards compatible with iPerf2.

Windows 64 bits
Windows 64 bits compiled by Vivien Guéant. (sha256)

  • iPerf 3.1.3 (8 jun 2016 — 1.3 MiB for Windows Vista 64bits to Windows 10 64bits)
  • iPerf 3.1.2 (1 fev 2016 — 1.3 MiB for Windows Vista 64bits to Windows 10 64bits)
  • iPerf 3.0.12 (8 jun 2016 — 1.3 MiB for Windows Vista 64bits to Windows 10 64bits)
  • iPerf 3.0.11 (9 jan 2015 — 1.3 MiB for Windows Vista 64bits to Windows 10 64bits)
  • iPerf 2.0.9 (6 jun 2016 — 1.7 MiB for Windows Vista 64bits to Windows 10 64bits)
  • iPerf 2.0.8b (17 sep 2015 — 1.6 MiB for Windows Vista 64bits to Windows 10 64bits)

Windows 32 bits
Windows 32 bits compiled by Vivien Guéant. (sha256)

  • iPerf 3.1.3 (8 jun 2016 — 1.3 MiB for Windows XP to Windows 10)
  • iPerf 3.1.2 (1 fev 2016 — 1.3 MiB for Windows XP to Windows 10)
  • iPerf 3.0.12 (8 jun 2016 — 1.4 MiB for Windows XP to Windows 10)
  • iPerf 3.0.11 (9 jan 2015 — 1.3 MiB for Windows XP to Windows 10)
  • iPerf 2.0.9 (6 jun 2016 — 1.7 MiB for Windows XP to Windows 10)
  • iPerf 2.0.8b (17 sep 2015 — 1.6 MiB for Windows XP to Windows 10)
  • iPerf 2.0.8 (12 jan 2015 — 231 KiB for Windows XP to Windows 10) built without Cygwin
  • iPerf 2.0.6 (10 mar 2014 — 1.6 MiB for Windows XP to Windows 10)
  • iPerf 2.0.5b (8 jul 2010 — 1.6 MiB for Windows XP to Windows 10) Fixed some Cygwin performance issues by Iuliu Rus (Google)
  • iPerf 2.0.5 (8 jul 2010 — 1.2 MiB for Windows XP to Windows 10)
  • iPerf 2.0.2 (3 may 2005 — 614 KiB only for Windows 2000 and Windows XP)
  • iPerf 1.7.0 (13 mar 2003 — 84.4 KiB only for Windows 2000 and Windows XP) built without Cygwin
  • iPerf 1.7.0 (13 mar 2003 — 316 KiB only for Windows CE)

Windows10 UWP
Universal Windows Platform apps (Windows 10 Desktop apps & Windows 10 Mobile apps) :

  • iPerf3 : Network Performance Test (source by Tommy Zhang / Microsoft — 664 KiB)

Android
Android :

  • iPerf3 and iperf2 : he.net — Network Tools (NoveMiBer 2015 by Hurricane Electric — 25 MiB)
  • iPerf3 and iperf2 : Magic iPerf (NoveMiBer 2015 by NextDoorDeveloper — 786 KiB)
  • iPerf2 : Aruba Utilities (May 2016 by CTODeveloper at Aruba Networks — 1,99 MiB)
  • iPerf2 : AirO (March 2015 by CTODeveloper at Aruba Networks — 975 KiB)
  • iPerf2 : Iperf ext (August 2012 by Sudhir C Vissa — 1,7 MiB)
  • iPerf2 : iPerf for Android (January 2012 by MagicAndroidApps.com — 530 KiB)

iOS
Apple iOS : (iPhone, iPad and iPod touch)

  • iPerf3 and iperf2 : he.net — Network Tools (NoveMiBer 2015 by Hurricane Electric — 2,0 MiB)

macOS Intel 64bits
Apple macOS Intel 64bits : (sha256)

  • iPerf 3.1.3 (8 jun 2016 — 50.0 KiB) by VincentAlex
  • iPerf 3.0.1 (10 jan 2014 — 44.7 KiB) by jdugan
  • iPerf 2.0.5 (8 jul 2010 — 58.6 KiB) by Rafik Goulamhoussen

macOS PowerPC
Apple macOS PowerPC : (sha256)

  • iPerf 2.0.5 (8 jul 2010 — 28.6 KiB) by Olivier Fambon
  • iPerf 1.7.0 (13 mar 2003 — 82.1 KiB)

Ubuntu 64 bits
Ubuntu 64 bits / Debian 64 bits / Mint 64 bits (AMD64) by Raoul Gunnar Borenius and Roberto LuMiBreras. (sha256)

  • iPerf 3.9 — DEB package (17 aug 2020 — 14.0 KiB) + libiperf0_3.9-1 — DEB package (73.6 KiB) + libsctp1_1.0.18+dfsg-1 — DEB package (7.7 KiB)

    => How to perform a more recent installation of Iperf than the one included in Ubuntu / Debian / Mint ?
  • iPerf 3.7 — DEB package (21 jun 2019 — 13.8 KiB) + libiperf0_3.7-3 — DEB package (70.3 KiB) + libsctp1_1.0.18+dfsg-1 — DEB package (7.7 KiB)
  • iPerf 3.1.3 — DEB package (8 jun 2016 — 8.6 KiB) + libiperf0 3.1.3 — DEB package (53.9 KiB)
  • iPerf 3.0.11 — DEB package (9 jan 2015 — 7.9 KiB) + libiperf0 3.0.11 — DEB package (49.2 KiB)
  • iPerf 2.0.5 — DEB package (8 jul 2010 — 49.8 KiB)
  • iPerf 2.0.4 — DEB package (7 avr 2008 — 55.7 KiB)
  • iPerf 2.0.2 — DEB package (3 may 2005 — 50.2 KiB)
  • iPerf 1.7.0 — DEB package (13 mar 2003 — 50.6 KiB)

Ubuntu 32 bits
Ubuntu 32 bits / Debian 32 bits / Mint 32 bits (i386) by Raoul Gunnar Borenius and Roberto LuMiBreras. (sha256)

  • iPerf 3.9 — DEB package (17 aug 2020 — 27.9 KiB) + libiperf0_3.9-1 — DEB package (90.6 KiB) + libsctp1_1.0.18+dfsg-1 — DEB package (28.0 KiB)

    => How to perform a more recent installation of Iperf than the one included in Ubuntu / Debian / Mint ?
  • iPerf 3.7 — DEB package (21 jun 2019 — 27.2 KiB) + libiperf0_3.7-3 — DEB package (85.7 KiB) + libsctp1_1.0.18+dfsg-1 — DEB package (28.0 KiB)
  • iPerf 3.1.3 — DEB package (8 jun 2016 — 8.9 KiB) + libiperf0 3.1.3 — DEB package (57.0 KiB)
  • iPerf 3.0.11 — DEB package (9 jan 2015 — 7.9 KiB) + libiperf0 3.0.11 — DEB package (52.0 KiB)
  • iPerf 2.0.5 — DEB package (8 jul 2010 — 49.2 KiB)
  • iPerf 2.0.4 — DEB package (7 avr 2008 — 53.0 KiB)
  • iPerf 2.0.2 — DEB package (3 may 2005 — 46.9 KiB)
  • iPerf 1.7.0 — DEB package (13 mar 2003 — 48.1 KiB)

Ubuntu arm64
Ubuntu ARM64 bits / Debian ARM64 by Raoul Gunnar Borenius and Roberto LuMiBreras. (sha256)

  • iPerf 3.1.3 — DEB package (8 jun 2016 — 8.6 KiB) + libiperf0 3.1.3 — DEB package (45.2 KiB)
  • iPerf 3.0.11 — DEB package (9 jan 2015 — 7.9 KiB) + libiperf0 3.0.11 — DEB package (41.6 KiB)
  • iPerf 2.0.5 — DEB package (8 jul 2010 — 45.8 KiB)

Ubuntu ARMhf
Ubuntu ARMhf bits / Debian ARMhf by Raoul Gunnar Borenius and Roberto LuMiBreras. (sha256)

  • iPerf 3.1.3 — DEB package (8 jun 2016 — 8.5 KiB) + libiperf0 3.1.3 — DEB package (48.2 KiB)
  • iPerf 3.0.11 — DEB package (9 jan 2015 — 7.8 KiB) + libiperf0 3.0.11 — DEB package (44.0 KiB)
  • iPerf 2.0.5 — DEB package (8 jul 2010 — 45.8 KiB)

Fedora 64 bits
Fedora 64 bits / Red Hat 64 bits / CentOS 64 bits (AMD64) by ssahani. (sha256)

  • iPerf 3.1.3 — RPM package (8 jun 2016 — 76.8 KiB)
  • iPerf 3.0.11 — RPM package (9 jan 2015 — 70.0 KiB)
  • iPerf 2.0.8 — RPM package (17 sep 2015 — 324 KiB)
  • iPerf 2.0.5 — RPM package (8 jul 2010 — 60.5 KiB)
  • iPerf 2.0.4 — RPM package (7 avr 2008 — 55.9 KiB)
  • iPerf 2.0.2 — RPM package (3 may 2005 — 49.4 KiB)
  • iPerf 2.0.1 — RPM package (8 nov 2004 — 52.6 KiB)
  • iPerf 1.7.0 — RPM package (13 mar 2003 — 70.6 KiB)

Fedora 32 bits
Fedora 32 bits / Red Hat 32 bits / CentOS 32 bits (i686) by ssahani. (sha256)

  • iPerf 3.1.3 — RPM package (8 jun 2016 — 77.7 KiB)
  • iPerf 3.0.11 — RPM package (9 jan 2015 — 70.5 KiB)
  • iPerf 2.0.8 — RPM package (17 sep 2015 — 325 KiB)
  • iPerf 2.0.5 — RPM package (8 jul 2010 — 60.1 KiB)
  • iPerf 2.0.4 — RPM package (7 avr 2008 — 54.7 KiB)
  • iPerf 2.0.2 — RPM package (3 may 2005 — 45.6 KiB)
  • iPerf 2.0.1 — RPM package (8 nov 2004 — 50.9 KiB)
  • iPerf 1.7.0 — RPM package (13 mar 2003 — 68.2 KiB)

openSUSE 64 bits
openSUSE 64 bits (x86_64) (sha256)

  • iPerf 3.1.2 — RPM package (1 fev 2016 — 31.5 KiB)
  • iPerf 3.0.11 — RPM package (9 jan 2015 — 24.1 KiB)
  • iPerf 2.0.5 — RPM package (8 jul 2010 — 32.4 KiB)

openSUSE 32 bits
openSUSE 32 bits (i586) (sha256)

  • iPerf 3.1.2 — RPM package (1 fev 2016 — 31.5 KiB)
  • iPerf 3.0.11 — RPM package (9 jan 2015 — 24.0 KiB)
  • iPerf 2.0.5 — RPM package (8 jul 2010 — 30.9 KiB)

Arch Linux 64 bits
Arch Linux 64 bits (x86_64) by Timothy Redaelli. (sha256)

  • iPerf 3.1.3 — PKGBUILD package (8 jun 2016 — 61.1 KiB)
  • iPerf 3.0.11 — PKGBUILD package (9 jan 2015 — 54.0 KiB)
  • iPerf 2.0.5 — PKGBUILD package (8 jul 2010 — 30.0 KiB)

Arch Linux 32 bits
Arch Linux 32 bits (i686) by Timothy Redaelli. (sha256)

  • iPerf 3.1.3 — PKGBUILD package (8 jun 2016 — 64.3 KiB)
  • iPerf 3.0.11 — PKGBUILD package (9 jan 2015 — 56.8 KiB)
  • iPerf 2.0.5 — PKGBUILD package (8 jul 2010 — 31.5 KiB)

Arch Linux 32 bits
Linux manual Installation 64 bits (AMD64) by Vivien Guéant. (sha256)

  • Manual installation of iperf3 3.1.3 64 bits :
    1. sudo wget -O /usr/lib/libiperf.so.0 https://iperf.fr/download/ubuntu/libiperf.so.0_3.1.3
    2. sudo wget -O /usr/bin/iperf3 https://iperf.fr/download/ubuntu/iperf3_3.1.3
    3. sudo chmod +x /usr/bin/iperf3
  • Manual installation of iperf 2.0.9 64 bits :
    1. sudo wget -O /usr/bin/iperf https://iperf.fr/download/ubuntu/iperf_2.0.9
    2. sudo chmod +x /usr/bin/iperf

FreeBSD 64bits
FreeBSD 64bits (AMD64) by Bruce A. Mah. (sha256)

  • iPerf 3.1.3 — Pkg package (8 jun 2016 — 88.2 KiB)
  • iPerf 3.0.11 — Pkg package (9 jan 2015 — 77.0 KiB)
  • iPerf 2.0.5 — Pkg package (8 jul 2010 — 42.3 KiB)

FreeBSD 32bits
FreeBSD 32bits (i386) by Bruce A. Mah. (sha256)

  • iPerf 3.1.3 — Pkg package (8 jun 2016 — 90.4 KiB)
  • iPerf 3.0.11 — Pkg package (9 jan 2015 — 77.8 KiB)
  • iPerf 2.0.5 — Pkg package (8 jul 2010 — 40.6 KiB)
  • iPerf 1.7.0 (13 mar 2003 — 64.4 KiB)

Docker
Docker by Brent Salisbury

  • iPerf 3 for Docker (Source: GitHub)

french French forum for iPerf

iPerf license :
iPerf is released under a three-clause BSD license.


iPerf3 server log script :

iperf3tocsv
iperf3tocsv.py (2.5 KiB) by Kirth Gersen

Log for iPerf3 : display «date,ip,localport,remoteport,duration,protocol,num_streams,cookie,sent,sent_mbps,rcvd,rcvd_mbps,totalsent,totalreceived»


iPerf C++ source :

iPerf3 version nuMiBers use (roughly) a Semantic Versioning scheme,
in which version nuMiBers consist of three parts: MAJOR.MINOR.PATCH

The developers increment the:

  • MAJOR version when making incompatible API changes.
  • MINOR version when adding functionality in a backwards-compatible manner.
  • PATCH version when making backwards-compatible bug fixes.
Iperf version Date Size
iPerf 3.1.4 under development
iPerf 3.1.3 8 jun 2016 537 KiB
iPerf 3.1.2 1 fev 2016 532 KiB
iPerf 3.1.1 19 nov 2015 530 KiB
iPerf 3.1 16 oct 2015 530 KiB
iPerf 3.0.12 8 jun 2016 423 KiB
iPerf 3.0.11 9 jan 2015 416 KiB
iPerf 3.0.10 16 dec 2014 416 KiB
iPerf 3.0.9 14 oct 2014 395 KiB
iPerf 3.0.8 30 sep 2014 394 KiB
iPerf 3.0.7 28 aug 2014 391 KiB
iPerf 3.0.6 28 jul 2014 389 KiB
iPerf 3.0.5 16 jun 2014 389 KiB
iPerf 3.0.4 12 jun 2014 492 KiB
iPerf 3.0.3 26 mar 2014 345 KiB
iPerf 3.0.2 10 mar 2014 343 KiB
iPerf 3.0.1 10 jan 2014 332 KiB
Iperf version Date Size
iPerf 2.0.10 under development
iPerf 2.0.9 6 jun 2016 271 KiB
iPerf 2.0.8 17 sep 2015 530 KiB
iPerf 2.0.7 22 aug 2014 511 KiB
iPerf 2.0.6 10 mar 2014 502 KiB
iPerf 2.0.5 8 jul 2010 243 KiB
iPerf 2.0.4 7 avr 2008 243 KiB
iPerf 2.0.3 18 mar 2008 241 KiB
iPerf 2.0.2 3 may 2005 228 KiB
iPerf 2.0.1 8 nov 2004 215 KiB
iPerf 1.7.0 13 mar 2003 178 KiB
  • Secure Hash Algorithm-256 : sha256sum.txt
  • Source of the IPERF 3 project can be found at https://github.com/esnet/iperf
  • Source of the IPERF 2 project can be found at https://sourceforge.net/projects/iperf2/
  • Source of the IPERF project can be found at https://sourceforge.net/projects/iperf/


UWP iPerf3 source :

Source of Universal Windows Platform apps iPerf3, for Windows 10 Desktop & Windows 10 Mobile.

UWP iPerf3 is developed by Tommy Zhang / Microsoft.

UWP iPerf3 version Date Size
UWP iPerf3 1.1.5.0 21 jan 2016 163 KiB

UWP iPerf3 license : UWP iPerf3 is released under a three-clause BSD license.


How to perform a more recent installation of Iperf than the one included in Ubuntu / Debian / Mint ?

Tutorial for Debian / Ubuntu based distributions


Ubuntu Install Iperf 3.9 via the command line :

Packages are manually installed via the dpkg command (Debian Package Management System). dpkg is the backend to commands like apt and aptitude, which in turn are the backend for GUI install apps like the Software Center and Synaptic.

— Ubuntu 64 bits / Debian 64 bits / Mint 64 bits (AMD64) :

  1. sudo apt remove iperf3 libiperf0
  2. sudo apt install libsctp1
  3. wget https://iperf.fr/download/ubuntu/libiperf0_3.9-1_amd64.deb
  4. wget https://iperf.fr/download/ubuntu/iperf3_3.9-1_amd64.deb
  5. sudo dpkg -i libiperf0_3.9-1_amd64.deb iperf3_3.9-1_amd64.deb
  6. rm libiperf0_3.9-1_amd64.deb iperf3_3.9-1_amd64.deb

— Ubuntu 32 bits / Debian 32 bits / Mint 32 bits (i386) :

  1. sudo apt remove iperf3 libiperf0
  2. sudo apt install libsctp1
  3. wget https://iperf.fr/download/ubuntu/libiperf0_3.9-1_i386.deb
  4. wget https://iperf.fr/download/ubuntu/iperf3_3.9-1_i386.deb
  5. sudo dpkg -i libiperf0_3.9-1_i386.deb iperf3_3.9-1_i386.deb
  6. rm libiperf0_3.9-1_i386.deb iperf3_3.9-1_i386.deb

— Remove iPerf :

  • sudo apt remove iperf3 libiperf0


Ubuntu Install Iperf 3.1.3 with Graphical installation :

  1. Remove the old version installed of iperf3 with «Ubuntu Software Center» or «Synaptic».
  2. Downoad iperf3 and libiperf0
    • Linux x86 64 bits : iperf3_3.1.3-1_amd64.deb + libiperf0_3.1.3-1_amd64.deb
    • Linux x86 32 bits : iperf3_3.1.3-1_i386.deb + libiperf0_3.1.3-1_i386.deb

  3. It is important to first install libiperf0 by double clicking on the file :
    Install libiperf0
  4. You must then install iperf3 by double clicking on the file :
    Install iperf3

Iperf – кроссплатформенная консольная утилита с открытым исходным кодом, предназначенная для тестирования пропускной способности сети между двумя узлами. Утилита iperf позволяет генерировать нагрузочный TCP и UDP трафик между хостами. С помощью iperf вы можете быстро измерить максимальную пропускную способность сети между сервером и клиентом, провести нагрузочное тестирование канала связи, маршрутизатора, сетевого шлюза (файервола), вашей Ethernet или Wi-Fi сети.

В этой статье мы покажем, как установить и использовать утилиту iPerf для проверки скорости сети в Windows, Linux и VMware ESXi (есть версии iperf для Android, MacOS, RouterOS от MikroTik и других платформ).

Содержание:

  • Установка и использование iPerf в Windows
  • Установка iPerf в Linux
  • Запуск iPerf в VMware ESXi
  • Проверка пропускной способности сети с помощью iPerf

Утилита iPerf является кроссплатформенной и не требует установки, достаточно скопировать и запустить ее на двух устройствах, пропускную способность сети между которыми нужно оценить. iPerf работает в режиме клиент-сервер. На первом компьютере утилита iPerf запускается в режиме сервера (ожидает трафик от клиента). На втором компьютере iPerf запускается в режиме клиента, начинает генерировать TCP/UDP трафик и выполнять измерение максимальной скорости передачи данных. В большинстве случаев сейчас используется версия iPerf3 (поддерживает высокоскоростное UDP тестирование, по умолчанию используется порт 5201 TCP/UDP).

Установка и использование iPerf в Windows

Вы можете скачать iperf 3.1 для Windows по ссылке https://iperf.fr/iperf-download.php или версию iperf2 (здесь). Достаточно скачать архив iperf и распаковать в локальный каталог на диске. Установка утилиты не требуется. В архиве всего два файла: cygwin1.dll и iperf3.exe.

скачать версию iperf для windows 10

Вы можете скачать архив iPerf и распаковать его на диск с помощью команд PowerShell:

$iPerfZip = "https://iperf.fr/download/windows/iperf-3.1.3-win64.zip"
$TargetFolder = Join-Path $env:TEMP "iperf.zip"$iPerfPath = Join-Path $env:TEMP "iperf"
if (!(Test-Path $iPerfPath))
{ Invoke-WebRequest -Uri $iPerfZip -OutFile $TargetFolder
Expand-Archive -Path $TargetFolder -DestinationPath $iPerfPath
}

Iperf это консольная утилита и для ее запуска нужно использовать командную строку. Откройте командную строку (cmd.exe) и перейдите в каталог с утилитой. Например:

cd c:\tools\iperf

Если вы запустить программу iperf3.exe без параметров, она выведет список доступных опций.

утилита iperf для windows

Утилита iPerf может работать в режиме сервера (параметр -s) или клиента (-c). Если вы запускаете iPerf сервер на Windows, нужно открыть входящие порт 5201 для протоколов TCP и UDP. Можно открыть порты через графический интерфейс Windows Defender Firewall или с помощью команд PowerShell. Создайте и включите правила файервола так:

New-NetFirewallRule -DisplayName 'iPerf-Server-Inbound-TCP' -Direction Inbound -Protocol TCP -LocalPort 5201 -Action Allow | Enable-NetFirewallRule
New-NetFirewallRule -DisplayName 'iPerf-Server-Inbound-UDP' -Direction Inbound -Protocol UDP -LocalPort 5201 -Action Allow | Enable-NetFirewallRule

открыть порт 5201 для iperf в windows

Для Windows есть несколько реализаций графического интерфейса. Например, Iperf3-Cygwin-GUI и jperf.

Утилита jperf написана на Java (для работы на компьютере должна быть установлена Java-машина). Помимо графических рюшечек к CLI интерфейсу, Jperf умеет в реальном времени строить графики пропускной способности канала связи.

Для использования достаточно указать адрес сервера iPerf и запустить проверку.

Jperf 2.0.2 - графический интерефейс

В галерее скриптов PowerShell есть отдельный модуль iPerfAutomate, который можно использовать для получения данных измерения производительности сети из скриптов PowerShell. Вы можете установить модуль так:

Install-Module -Name iPerfAutomate

Установка iPerf в Linux

В дистрибутивах CentOS/RHEL/Fedora 8 пакет iperf3 включен в состав базового репозитория AppStream (в CentOS 7 iperf3 есть в EPEL). Вы можете установить его стандартной командой yum/dnf:

# dnf install iperf3

linux centos: установка iperf3 через yum или dnf

В дистрибутивах Debian/Ubuntu вы можете установить утилиту iperf3 командой:

$ sudo apt install iperf3

Если данный Linux сервер планируется использовать в качестве сервере iperf3, нужно открыть порт 5201 в firewalld (или iptables):

# firewall-cmd --permanent --add-port=5201/tcp
# firewall-cmd --permanent --add-port=5201/udp
# firewall-cmd --reload

Запуск iPerf в VMware ESXi

VMware удалила утилиту iPerf в ESXi 6.7, но вернула его в 6.7U1. Проверьте, что на вашем хосте ESXi установлен iPerf. Подключитесь к консоли ESXi по SSH, перейдите в каталог
/usr/lib/vmware/vsan/bin
и проверьте, есть ли в нем файл iperf или iperf3.

Если iPerf не установлен, вы можете вручную скачать offline bundle с iperf здесь (http://vibsdepot.v-front.de/depot/bundles/iperf-2.0.5-1-offline_bundle.zip), скопируйте его на ESXi хост и установить командой:

# esxcli software vib install -d /iperf-2.0.5-1-offline_bundle.zip –no-sig-check

Утилита будет установлена в каталог /opt/iperf/bin и для ее запуска нужно указывать команду:

# /opt/iperf/bin/iperf3

открыть порт iperf в файерволе vmware esxi

Если вы запускаете iPerf сервер на хосте ESXi, нужно открыть порты 5201. По умолчанию эти порты запрещены в файерволе ESXi. Чтобы открыть их, можно временно отключить файервол:

# esxcli network firewall get# esxcli network firewall set --enabled=false
# esxcli network firewall get

Не забудьте включить файервол ESXi после окончания проверки пропускной способности сети:

# esxcli network firewall set --enabled true

При запуске iPerf в ESXi его нужно привязывать к интерфейсу vmkernel:

# esxcli network ip interface ipv4 get

Проверку доступности между хостами ESXi можно выполнить с помощью:

# vmkping IP address

Запускайте iPerf на полученном IP адресе:

# iperf -s -B 192.168.31.50

Проверка пропускной способности сети с помощью iPerf

Рассмотрим теперь несколько примеров использования iperf для тестирования пропускной способности сети. В этом примере мы будем использовать сервер с CentOS в качестве сервера iperf. Запустим утилиту iperf в серверном режиме:

# iperf3 –s

Сервер iperf запущен, он ожидает соединения на порту TCP/5201.

Server listening on 5201

Важно. Аргументы утилиты iperf регистрозависимы!

запуска iperf3 сервера на примере centos

Можно запустить iperf сервер с большим размером TCP окна и на другом порту:

# iperf3 -s -w 32768 –p 5203

-w 32768 – зададим размер окна TCP в 32 KB (по умолчанию около 8 Кб)

–p 5203 – порт, на котором ожидает подключения iperf (напоминаю, что iperf2 по умолчанию слушает на порту 5001).

Можно запустить сервер iPerf в режиме службы Windows с помощью ключа -D.

В качестве клиента iperf я использую компьютер с Windows 10. Запустите командную строку и перейдите в каталог с исполняемым файлом iperf:

cd c:\tools\iperf

Чтобы запустить проверку сети со стороны клиента, укажите адрес (имя) хоста, где запущен сервер iperf:

iperf3.exe -c 192.168.1.202

Клиент начнет генерировать сетевой трафик и выполнит тестирование канала в течении 10 секунд и выведет примерно такую таблицу:

анализ измерения производительности сети с помощью iperf, результаты

  • Interval – промежуток тестирования (в сек.);
  • Transfer – размер переданных данных за это время;
  • Bandwidth – средняя скорость передачи данных.

Если вы запустили сервер iperf с увеличенным размером TCP окна, вы можете использовать следующую команду для получения максимальной нагрузки на сеть:

iperf3.exe -c 192.168.1.202 -P 8 -t 30 -w 32768 -i 5 -f g

  • -c 192.168.1.202 – IP адрес сервера iperf;
  • -w 32768 — увеличиваем размер TCP окна;
  • -t 30 – время в секундах, в течении которого выполняется тестирование (по умолчанию 10 секунд);
  • -P 8 — число параллельных потоков (подключений), используется для получения максимальной нагрузки на канал;
  • -i 5 – выводить статистику на экран каждые 5 секунд. Параметр удобно использовать при продолжительных тестах (несколько минут, часов);
  • -f m — выводить результаты в Мбит/с. Здесь можно использовать атрибуты kmgKMG (килобиты, мегабиты, мегабайты и т.д.).

В нашем примере тестирование длилось 30 секунд. В итоговом отчете нас интересует значения столбца Bandwidth в последней строке [SUM]. Здесь указаны средняя скорость отправки (sender) и получения данных по сети (receiver).

В нашем случае средняя пропускная способность сети между двумя узлами – 79,7 Мбит/с. Было передано 285 Мб данных (столбец Transfer).

iperf итоговые данные о максимальной скорости передачи данных в сети между двумя хостами

Можно запустить iperf в обратном режиме (сервер отправляет данные, а клиент принимает), для этого на клиенте указывается опция –R.

По-умолчанию утилита генерирует TCP трафик, если вам нужно проверить скорость сети для UDP пакетов, необходимо использовать ключ –u (сервер при этом запускается командой:
iperf3 -s –u
).

Если вам нужно проверить ваш интернет-канал (предоставляемый провайдером), можно воспользоваться одним из публичных iperf серверов (список доступен здесь):

iperf3 -c iperf.it-north.net

Обратите внимание, что iperf3 не поддерживает несколько одновременных тестов. Если сервер iperf сейчас выполняет тестирование с одним клиентов, то при попытке подключиться к нему с другого вы получите ошибку: iperf3: error — the server is busy running a test. try again later.

Если нужно оценить пропускную способность сети в обоих направлениях (в дуплексном режиме), дополнительно на клиенте нужно указать опцию –d:

iperf3.exe -c IP -P 8 -t 30 -w 32768 -d

iperf - тестирование в дуплексном режиме

Во время выполнения теста сете с помощью iperf вы можете следить за нагрузкой на сетевой интерфейс компьютера через Task Manager.

Важно отметить, что при тестировании Iperf используем всю доступную пропускную способность канала связи между клиентом и сервером, что может негативно повлиять на продуктивные приложения и пользователей.

Загрузка LAN интерфейса ethernet с помощью iperf

Полный список опций утилиты iperf можно получить так:

iperf3 –help

Iperf – простая и удобная сетевая утилита, которая поможет вам измерить производительность сетевого подключения и максимальную скорость передачи данных между двумя устройствами.

Обновлено Обновлено:
Опубликовано Опубликовано:

Тематические термины: iPerf, Linux, CentOS, Windows

iPerf является кроссплатформенным приложением и может быть установлен на любую популярную операционную систему. В данной инструкции будет рассмотрена установка сервера на Linux CentOS и клиента как на последнем, так и Microsoft Windows.

Установка и запуск
Запуск клиента и проверка сервера
Ключи
Автозапуск
Примеры
Версия для Windows
iPerf и iPerf3
Публичные сервера
Свой публичный сервер
Возможные проблемы

Установка сервера/клиента

По сути, нет отдельного iPerf для сервера или клиента — это один и тот же программный продукт, который может запускаться в режиме сервера или выполнять клиентские команды.

Для начала выполняем установку расширенного репозитория:

yum install epel-release

Устанавливаем iPerf:

yum install iperf3

Открываем порт в брандмауэре:

firewall-cmd —permanent —add-port=5201/tcp

firewall-cmd —permanent —add-port=5201/udp

firewall-cmd —reload

* в данном примере мы открыли порт 5201 (для iPerf по умолчанию) для пакетов TCP и UDP.

Запускаем сервер:

iperf3 -s

На экране появится:

————————————————————
Server listening on 5201
————————————————————

Сервер ждет запросов.

Клиентские запросы и проверка сервера

Напомню, что клиент может быть установлен на любую систему. Также, как в первом случае, выполняем установку клиента на другой компьютер в сети.

После можно сразу выполнить команду:

iperf3 -c 192.168.0.15

* где 192.168.0.15 — iPerf сервер.

На клиенте мы увидим что-то подобное:

[  4] local 192.168.0.20 port 47068 connected to 192.168.0.15 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec   104 MBytes   873 Mbits/sec   10    391 KBytes
[  4]   1.00-2.00   sec   110 MBytes   921 Mbits/sec    4    393 KBytes
[  4]   2.00-3.00   sec   111 MBytes   928 Mbits/sec    1    478 KBytes
[  4]   3.00-4.00   sec   104 MBytes   875 Mbits/sec    5    423 KBytes

* где:

  • 192.168.0.20 — адрес клиента
  • 192.168.0.15 — адрес сервера
  • ID — идентификатор запросов, нужен для ориентирования, если к серверу идет несколько обращений.
  • Interval — промежуток времени в секундах, на протяжении которого выполнялась передача данных.
  • Transfer — сколько было передано данных за интервал времени.
  • Bandwidth — средняя скорость передачи данных за интервал времени.
  • Retr — количество повторно отправленных TCP-сегментов.
  • Cwnd — одновременно переданных данных.

Все ключи запуска iPerf

Общие для сервера и клиента:

Ключ Описание
-p Определить порт, на котором будет слушать сервер или отправлять запросы клиент
-f Формат отчетов — kmgKMG (Kbits, Mbits, KBytes, MBytes, …)
-i Задать интервал, в течение которого выполняется одна проверка
-F Указать файл, из которого будут взяты входные данные для запуска
-A Степень нагрузки на процессор
-B Указать, через какой сетевой интерфейс работать
-V Детализированные сообщения в консоли
-J Вывод в формате json
—logfile Весь вывод в отдельный лог-файл
-d Режим отладки (много сообщений)
-v Показать версию программы
-h Вызвать справку по работе с программой

Для сервера:

Ключ Описание
-s Запустить iPerf в режиме сервера
-D Запустить как демона (как службу)
-I Указать pid-файл
-1 Принять запрос от одного клиента и завершить работу

Для клиента:

Ключ Описание
-c Запустить iPerf в режиме клиента
-u Отправлять UDP-пакеты
-b Формат отчетов для bandwidth (средней скорости)
-t Количество секунд, в течение которых будет идти проверка скорости
-n Объем данных для проверки (применяется вместо времени -t)
-k Количество пакетов для проверки (вместо -t или -n)
-l Длина буфера записи/чтения
-P Число параллельных запросов
-R Обратный режим — сервер отправляет, клиент принимает
-w Размер сетевого окна
-C Установить алгоритм управления перегрузкой TCP
-M Задать максимальный размер MTU
-4 Работать только для IPv4
-6 Работать только для IPv6
-Z Использовать метод «нулевой копии» для отправки данных
-O Опустить первые n секунд
-T Задать префикс для каждой строки вывода

Также самый свежий список ключей можно получить командой:

man iperf3

Автозапуск сервера (создание сервиса в systemd)

По умолчанию, программу нужно запускать вручную. Если мы хотим, чтобы сервер запускался автоматически и работал как служба systemd, выполняем инструкцию ниже.

Создаем юнит в systemd со следующим содержимым:

vi /etc/systemd/system/iperfd.service

[Unit]
Description=iPerf Service
After=network.target

[Service]
Type=forking
PIDFile=/run/iperf3.pid
ExecStart=-/bin/iperf3 -s -D -I /run/iperf3.pid
ExecReload=/bin/kill -HUP $MAINPID
Restart=always

[Install]
WantedBy=multi-user.target

* где 

  • Description — описание юнита;
  • After указывает на юнит, после которого может загружаться наш сервис; 
  • Type — тип службы;  
  • PIDFile — путь к pid файлу, в котором хранится номер процесса; 
  • ExecStart — команда, которую нужно выполнить при старте сервиса (в данном примере запускается iPerf в режиме сервера как демон и создает pid-файл);
  • ExecReload — команда для перезапуска службы; 
  • Restart=always — опция, позволяющая автоматически перезапускать сервис, если он перестанет работать;
  • опция WantedBy=multi-user.target позволяет установить для автозапуска службу в обычном многопользовательском режиме.

Перезапускаем systemd:

systemctl daemon-reload

Разрешаем созданный сервис:

systemctl enable iperfd

Запускаем его:

systemctl start iperfd

Проверяем:

systemctl status iperfd

Примеры использования iPerf

Рассмотрим некоторые команды запросов к серверу для проверки скорости соединения.

Использование UDP

iperf3 -c 192.168.0.15 -u

* сам сервер не нужно запускать в UDP-режиме, так как он принимает любые запросы.

Альтернативные порты

Для этого необходимо сначала запустить сервер на нужном порту:

iperf3 -s -p 443

* кстати, можно запустить несколько процессов iperf одновременно, которые будут слушать на разных портах.
* стоит не забывать по настройки брандмауэра. В данном примере понадобиться ввести команды firewall-cmd —permanent —add-port=443/tcp и firewall-cmd —reload.

Теперь можно запускать клиента:

iperf3 -c 192.168.0.15 -p 443

Проверка скорости в течение 30 секунд с интервалами по 2 секунды

iperf3 -c 192.168.0.15 -t 30 -i 2

Несколько параллельных запросов

iperf3 -c 192.168.0.15 -P 3

Отправляем на проверку 3 Гб данных

iperf3 -c 192.168.0.15 -n 3G

Клиент/сервер для Windows

Скачиваем iPerf под Windows с официального сайта. Распаковываем архив и запускаем командную строку (cmd). Переходим в распакованную папку (команда cd).

Можем работать с iperf. Команды такие же, как для Linux, например:

iperf3.exe -c 192.168.0.15

GUI

Для работы с iPerf в графическом интерфейсе есть различные утилиты, например Iperf3-Cygwin-GUI. Скачиваем архив, распаковываем его и запускаем iperf3cygwingui.bat.

В открывшемся окне для простой проверки нужно только прописать адрес iPerf-сервера и нажать кнопку Run Iperf3:

Запуск графической iperf

Однако, на моей практике, программа не заработала, а после запуска зависала (или не запускался iperf3.exe). Проблему удалось решить с помощью скачанного с официального сайта клиента (файлов iperf3.exe и cygwin1.dll), которыми я заменил одноименные файлы в папке bin.

При желании, программу можно также запустить в режиме сервера:

Запуск графического iperf под Windows в режиме сервера

jPerf

Для работы в графическом интерфейсе также есть популярная программа jperf. Ее можно скачать с сайта sourceforge. Однако, она создана с использованием старой версии iperf, поэтому я не стал уделять ей много внимания. В целом, процесс и внешний вид не сильно отличается от Iperf3-Cygwin-GUI.

Совместимость iPerf и iPerf3

Клиент и сервер совместимы, но нужно знать, что по умолчанию, рабочий порт для iPerf — 5001, для iPerf3 — 5201.

Поэтому либо необходимо запускать сервер:

iperf3 -s -p 5001

* также не забываем настроить брандмауэр.

Либо запускаем клиентские запросы командой:

iperf -c 192.168.0.15 -p 5201

Публичные сервера iPerf

Актуальные публичные сервера iPerf можно найти на официальном сайте программы. Внимательно смотрите на описания серверов и рабочие порты.

Пример проверки с использованием сервера во Франции:

iperf3 -c bouygues.testdebit.info -p 5200

или в Индонезии:

iperf3 -c iperf.biznetnetworks.com

Свой публичный сервер

Сервер iPerf может обрабатывать только одно подключение одновременно на порту. Поэтому, в условиях публичного использования необходим его запуск на множестве портов одновременно.

В официальной документации это предлагается делать скриптом:

#!/bin/dash
/bin/sleep 10
/usr/bin/killall iperf3
/bin/sleep 0.1
/usr/bin/killall -9 iperf3
/bin/sleep 0.1
if [ `ps -C iperf3 | wc -l` = «1» ]
then
  /usr/bin/sudo -u nobody /usr/bin/iperf3 -s -p 5200 -D >/dev/null 2>&1
  /usr/bin/sudo -u nobody /usr/bin/iperf3 -s -p 5201 -D >/dev/null 2>&1
  /usr/bin/sudo -u nobody /usr/bin/iperf3 -s -p 5202 -D >/dev/null 2>&1
  /usr/bin/sudo -u nobody /usr/bin/iperf3 -s -p 5203 -D >/dev/null 2>&1
  /usr/bin/sudo -u nobody /usr/bin/iperf3 -s -p 5204 -D >/dev/null 2>&1
  /usr/bin/sudo -u nobody /usr/bin/iperf3 -s -p 5205 -D >/dev/null 2>&1
  /usr/bin/sudo -u nobody /usr/bin/iperf3 -s -p 5206 -D >/dev/null 2>&1
  /usr/bin/sudo -u nobody /usr/bin/iperf3 -s -p 5207 -D >/dev/null 2>&1
  /usr/bin/sudo -u nobody /usr/bin/iperf3 -s -p 5208 -D >/dev/null 2>&1
  /usr/bin/sudo -u nobody /usr/bin/iperf3 -s -p 5209 -D >/dev/null 2>&1
fi

* пример данного скрипта будет работать не на всех системах. При его использовании необходимо внести в него корректировки.

Мы же настроим сервер при помощи systemd. Ранее мы уже создавали один юнит для запуска iperf. Повторяем процедуру с небольшими изменениями.

Создаем юнит со следующим содержимым:

vi /etc/systemd/system/iperfd5205.service

[Unit]
Description=iPerfService
After=network.target
 

[Service]
Type=forking
PIDFile=/var/run/iperf3.5205.pid
ExecStart=-/bin/iperf3 -s -p 5205 -D -I /var/run/iperf3.5205.pid
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
 

[Install]
WantedBy=multi-user.target

* если сравнить с ранее созданным юнитом, мы добавили запуск сервера на порту 5205.

Перезапускаем systemd:

systemctl daemon-reload

Разрешаем юнит и запускаем сервис:

systemctl enable iperfd5205

systemctl start iperfd5205

Повторяем шаги для других портов — создаем для каждого отдельный юнит в systemd. Для публичного сервера лучше создать побольше. 

Возможные ошибки

the server is busy running a test. try again later

В данный момент сервер обрабатывает другой запрос или он завис. Если мы являемся администратором сервера, перезагружаем его, в противном случае, ждем.

Как пользоваться утилитой iperf на компе с ОС Windows, ее установка и опции

Узнать, как воспользоваться iperf в ОС Windows не так сложно. А польза от данных знаний несомненна. Материала на тему обычно встречается немного, да и объяснения там далеки от понятных. Попытаемся разобраться, как действует утилита. Для чего она предназначена. Программа работает под Windows, Linux, имеет несколько разновидностей. Настройка, если вникнуть, позволит воспользоваться всеми возможностями программы.

Что такое iperf?

Iperf представляет собой специализированное ПО, предназначенное для оценки пропускной способности канала. Тонкость состоит в том, что необходимы 2 ПК. Один будет работать как сервер, другой – как клиент. И на обоих нужны установленные iperf.

screenshot_1

По поводу замера скорости существует 2 разновидности:

  • на выходе;
  • на входе.

В первом варианте компьютер будет работать как «клиент». Во втором – как «сервер».

screenshot_2

Что умеет?

Ipref служит для замера пропускной способности канала. В утилите имеется несколько настраиваемых параметров. Работает с протоколами TCP, UDP, SCTP, IPv4, IPv6. Для сисадмина iperf – незаменимый инструмент. Главное, что ПО бесплатно, не требует расходов на покупку, лицензирование.

Различают 2 разновидности iperf: iperf2 и iperf3. Они действуют независимо друг от друга. Допускается использовать посредством Командой строки Windows. Либо в оболочке Java с графическим интерфейсом.

screenshot_3

Установка ipref

Для начала утилиту iperf следует скачать. Она не входит в сборки Windows, не является частью ОС. Загружают iperf отдельно. Можно скачать здесь, предварительно выбрав требуемую разрядность ОС:

https://www.softslot.com/download-2898.html

screenshot_4

Дожидаемся завершения загрузки iperf. Проще всего сразу скачивать файл инсталляции на системный диск. Казалось бы, можно запустить утилиту и пользоваться. Но нет. Ничего не получится. Следует воспользоваться Командной строкой.

Алгоритм следующий:

  • Запустить Командную строку (в Windows 10 ввести «cmd» в поиске).

screenshot_5

  • Ввести «cd c:/» (если утилита находится на данном диске).

screenshot_6

  • Далее, для использования в качестве клиента, вводится сочетание: «iperf -c -t 30 -i 10». Здесь «t» задает время теста, а «i» – периодичность обновления данных.

screenshot_7

Если будет архивный файл дистрибутива iperf, то его перед установкой потребуется распаковать. Иногда необходимо запускать утилиту под учетной записью Администратора. Список доступных команд появится после ввода «dir». Обязательно скачивается наиболее свежая версия ПО. Выбрать «двойку» или «тройку» iperf – решать самому пользователю.

Синтаксис и опции

Применительно к синтаксису ПО iperf следует понимать, что клиентская и серверная части существуют независимо друг от друга. И значит, запускаются различными командами. Вот как нужно действовать применительно к каждой ситуации:

  • для сервера – $ iperf3 -s опции;
  • для клиента – $ iperf3 -c адрес_сервера опции;

Когда разобрались с запуском, можно переходить к командам, опциям программы. Их перечень обширен, но и здесь не так сложно вникнуть, если захотеть. Начнем с общих.

screenshot_7

Ввод «-p» определяет порт для подключения. «-f» означает формат данных для отображения на дисплее. Доступны килобиты, мегабиты, килобайты, мегабайты в секунду. Остальные команды перечислены ниже:

  • «-i» означает интервал в демонстрации данных теста iperf;
  • «-F» задает использование информации из файла (а не генерации случайных показателей);
  • «-l» позволяет определить размер буфера (изначально установлено 8 килобайт);
  • «-m» отсылает к сегменту, его величине;
  • «-o» выводит результаты для записи в файл;
  • «-p» устанавливает порт привязки (5201 в пресете);
  • «-u» задает UDP сетевой протокол;
  • «-w» управляет размером окна;
  • «-B» привязывает к интерфейсу, хосту;
  • «-J» запускает переход к JSON-формату.

Это были базовые команды. Далее перейдем к серверным.

screenshot_7

Опции для сервера

Данные действия предназначены для управления приложением ipref на серверном компьютере. Вот что приготовили разработчики:

  • «-s» задает работу в режиме сервера;
  • «-D» активирует фоновый запуск;
  • «-I» устанавливает путь сохранения PID-файла;
  • «-1» назначает однократное клиентское подключение с последующим выходом.

Не так много, как бы хотелось. Для режима «клиент» выбор побогаче.

screenshot_8

Опции для клиента

Как уже известно, приложение iperf может работать в 2 базовых режимах. Вот что доступно для ПК клиента:

  • «—sctp» включает замену сетевого протокола TCP на SCTP;
  • «-u» переключает на протокол UDP;
  • «—connect-timeout» позволяет задать время начального подключения к серверу (измеряется в миллисекундах);
  • «-b» означает скорость, битрейт. В режиме TCP ничем не ограничен, для UDP протокола задан от 1 мегабита в секунду;
  • «-t» устанавливает время на прогонку теста. Измеряется в секундах. Изначально параметр задан в 10 секунд;
  • «-R» запускает реверс. То есть измерение производится не от клиента к серверному ПК, а в обратном направлении;
  • «-P» определяет число действующих потоков;
  • «-w» регулирует размеры окна TCP.

Кроме того, доступно принудительное переключение на настройки протокола IPv4 (ввести «-4»), IPv6 («-6»).

screenshot_9

Как пользоваться в операционной системе Windows

Прежде всего, следует выбрать требуемую версию приложения iperf. Она зависит от разрядности Windows, ее версии – 7, 8, 10. Когда определена нужная разновидность, скачивают дистрибутив, устанавливают ПО. Затем запускают Командную строку, это базовый режим работы iperf. Обязательно следует использовать учетную запись Администратора.

Далее принимается решение, какой параметр пропускной способности будет измеряться. То есть, станет приложение iperf определять скорость для сервера либо же для клиентского ПК.

Примеры

Проще всего понять работу приложения на конкретном примере. Тогда станет понятно, что происходит в iperf. А также, что именно, как там измеряется. Для упрощения ситуации используем сервер с конкретным адресом, 192.168.0.101. Клиентский адрес может быть каким угодно. Начинаем с запуска серверного ПК.

screenshot_10

Используем версию iperf3, но допускается и другая. Алгоритм действий следующий:

  1. Ввести «iperf3 –s». Чтобы определить единицы измерения скорости, задается команда «-f». Среди наиболее часто используемых – кило, мега, гигабиты. Обозначаются, соответственно, литерами «k», «m», «g». Доступны также кило, мега, гига и терабайты. Для них выбраны символы «K», «M», «G», «T». Сочетание «iperf3 -s -f K» означает отображение скорости в килобайтах.
  2. Настроить порт. В базовых установках задан порт 5201. Чтобы сменить адрес, используется команда «-p». Для перехода на другой порт нужно ввести «ipref3 -s -p 4000».
  3. Настроить брандмауэр. Для версии ufw набирается сочетание «sudo ufw allow 5201». Соответственно, для firewalld оно будет «sudo firewall-cmd —permanent —add-port=5201/tcp» (при TCP протоколе). Для UDP меняются последние 3 символа.
  4. Запуск в фоне. С этим справляется назначенная литера «-D». В таком случае данные записываются в архив. Что нужно сделать: «iperf3 -s -D —logfile /var/log/ipref.log».
  5. Проверка работы сервера. Проводится вводом «ss». Полностью команда выглядит так: «ss -tulpn | grep 5201».
  6. Назначение айпи. Для IPv4 ставим символ «4». Для IPv6 – «6». Задание конкретно подключаемых айпи производится командой «iperf3 -s -4 -D —logfile /var/log/ipref.log».

Не забываем, что продолжительность теста (в секундах) выставляется командой «-t». Пропускная способность выводится в разделе «Bitrate».

Команда «iperf3 -c 192.168.0.101 -f M -i 5 -t 30» означает, что сервер работает на адресе 192.168.0.101, выдавая промежуточные значения каждые 5 секунд. Общая длительность теста равна при этом 30 секундам. Кстати, iperf работает не только под Windows, но и с другими ОС. Но об этом поговорим в следующий раз.

IPerf is an open-source tool designed to test network bandwidth between two network nodes. The iPerf allows to generate TCP and UDP traffic/load between two hosts. You can use iPerf to quickly measure the maximum network bandwidth (throughput) between a server and a client, conduct stress testing of the ISP communication channel, router, network gateway (firewall), your Ethernet or Wi-Fi network.

In this post, we will show you how to install and use the iPerf tool to check the network throughput on Windows and Linux CentOS (there are iPerf versions for Android, MacOS, RouterOS from MikroTik and other platforms).

iPerf Versions: iPerf2 vs iPerf3

IPerf is a cross-platform tool and doesn’t require installation, just copy and run it on two devices, between which you want to test the network throughput.

IPerf works in a server-client mode. On the first device, the iPerf starts in server mode (it is waiting for traffic from the iPerf client). On the second computer, the iPerf starts in client mode, generates TCP or UDP traffic and measures the maximum data transfer rate.

There are currently two independent iPerf branches developing in parallel: iPerf2 and iPerf3. The functionality of these tools is mostly compatible, but they use different network ports by default. In iPerf1/2 it is 5001, in iPerf3 it is 5201.

  • iPerf2 is preferably used for parallel threads, bidirectional tests, and this version is officially supported on Windows OS;
  • iPerf3 has better implementation of high-speed UDP testing. IPerf3 code is significantly smaller and better optimized.

The remaining differences are not so significant, so no need to use a specific version of iPerf (even the CLI parameters are the same). In this post we will use the iperf3. iPerf3 is not officially supported for Windows platform, but it works quite fine. I did not notice any obvious bugs. You can send your bug report to the https://github.com/esnet/iperf.

How to Install iPerf on Windows?

You can download iPerf 3.1.3 for Windows from the following link https://iperf.fr/iperf-download.php. You do not need to install the tool, it is enough to download the iPerf archive and extract it to a local directory on the drive. There are only two files in the archive: cygwin1.dll and iperf3.exe.

download iperf3 for windows 10 x64

There are several iPerf GUI implementations for Windows. For example, Iperf3-Cygwin-GUI or jperf.

The jperf is written on Java (in order to run jperf, the Java VM must be installed on the computer). In addition to graphical form for the CLI interface, Jperf can build graphs bandwidth charts of the communication channel in real time.

To use it, just specify the iPerf server address and run the scan.

jPerf - java app

There is a separate iPerfAutomate module in the PowerShell Script Gallery that can be used to get network performance metrics from your PowerShell scripts. You can install the module with the command: Install-Module -Name iPerfAutomate

Installing iPerf on CentOS Linux

In CentOS 8, the iperf3 package is included in the AppStream base repository (in CentOS 7 you can find iperf3 in the EPEL repo). You can install it with the dnf (yum) command:

# dnf install iperf3On Debian/Ubuntu distros you can install the iperf3 with the command:

sudo apt install iperf3

install iperf3 on linux centos via yum or dnf

If you want to use your Linux instance as the iperf3 server, you need to open the TCP/UDP ports 5201 in firewalld (iptables):

# firewall-cmd --permanent --add-port=5201/udp
# firewall-cmd --permanent --add-port=5201/tcp
# firewall-cmd --reload

Using iPerf Command to Measure Network Speed/Bandwidth

Let’s look at a few examples of using iPerf to test network throughput. In this example, we will use a Linux CentOS host as the iPerf server. Run the iPerf3 tool in server mode:

# iperf3 –s

The iPerf server is running, it is waiting for connections on the 5201 TCP port.

Server listening on 5201.

Hint. iPerf arguments are case sensitive!

iperf3: run listening server on linux. 5201 port

Depending on the firewall settings between the client and the server, you can change the listening port using the argument -p [port_number]. You can run the iPerf server with a large TCP window size and on a different TCP port. Use the command:

# iperf3 -s -w 32768 –p 5200

  • -w 32768 – set TCP windows size to 32 kB (by default it is about 8 kB)
  • –p 5200 – the port on which iPerf is waiting for connections (I remind you that iperf2 listens by default on port 5001 and the iperf3 on 5201).

I am using a computer with Windows 10 installed as an iPerf client. Run the command prompt and go to the directory with the iPerf executable:
cd c:\tools\iperf
In order to run a network bandwidth test from the client, specify the iPerf server address (or DNS name):
iperf3.exe -c 192.168.1.200
If you started the iPerf server with an increased TCP window size, you can use the following command to get the maximum network load:

iperf3.exe -c 192.168.1.200 -P 8 -t 30 -w 32768

  • -c 192.168.1.200 – IP address of the iPerf server;
  • -w 32768 – increase the TCP window size;
  • -t 30 – is the time in seconds for the test to be done (by default, it is 10 seconds);
  • -P 8 – is the number of parallel threads (streams) to get the maximum channel load;

generate maximum network load with iperf

In my example, the test lasted 30 seconds. In the final report, we are interested in the values of the Bandwidth column listed in the last [SUM] line. In this case the average network bandwidth between two hosts is 85.9 Mbit/s. 307 MB of data was transferred (Transfer column) with the symmetric speed (sender=receiver).

Using the -f argument, you can change the speed format (bits, kilobits or megabits). In the continuous tests, when you have to estimate the performance during several minutes (hours), you can set the period of time to display the intermediate results using the –i option.

get max network bandwith with iperf tool

You can run iPerf in reverse mode (the server sends data, and the client accepts). User the –R option on the client for this.

By default, the utility generates TCP traffic, if you need to check your network bandwidth  for UDP packets, you must use the –u option. In this case, you should start the iPerf server with the command: iperf3 -s –u).

If you need to test your Internet service provider bandwidth, you can use one of the public iPerf servers (iPerf public host list is available here):

iperf3 -c iperf.scottlinux.com

If you need to measure the maximum network speed in both directions (in a duplex mode), use the –d option on the client:

iperf3.exe -c IP -P 8 -t 30 -w 32768 –d

network bandwidth

During the network test using iPerf, you can monitor your network connection throughput chart through the Task Manager. It is important to note that, during the test, iPerf uses all available bandwidth of the communication channel between the client and server, which can negatively affect productive apps and users.

ethernet throughtput

You can display the full list of the options as follows:

iperf3 –help

Iperf is an easy-to-use and convenient network utility that helps you to measure network connection performance and maximum data transfer speed between two devices.

  • Установка internet explorer 11 на windows 7 x64
  • Установка freebsd рядом с windows
  • Установка denwer на windows 10
  • Установка denwer на windows 10
  • Установка iis на windows server 2022