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 и распаковать его на диск с помощью команд 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 может работать в режиме сервера (параметр -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
Для Windows есть несколько реализаций графического интерфейса. Например, Iperf3-Cygwin-GUI и jperf.
Утилита jperf написана на Java (для работы на компьютере должна быть установлена Java-машина). Помимо графических рюшечек к CLI интерфейсу, Jperf умеет в реальном времени строить графики пропускной способности канала связи.
Для использования достаточно указать адрес сервера iPerf и запустить проверку.
В галерее скриптов PowerShell есть отдельный модуль iPerfAutomate, который можно использовать для получения данных измерения производительности сети из скриптов PowerShell. Вы можете установить модуль так:
Install-Module -Name iPerfAutomate
Установка iPerf в Linux
В дистрибутивах CentOS/RHEL/Fedora 8 пакет iperf3 включен в состав базового репозитория AppStream (в CentOS 7 iperf3 есть в EPEL). Вы можете установить его стандартной командой yum/dnf:
# dnf install iperf3
В дистрибутивах 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 сервер на хосте 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 регистрозависимы!
Можно запустить 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 секунд и выведет примерно такую таблицу:
- 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 в обратном режиме (сервер отправляет данные, а клиент принимает), для этого на клиенте указывается опция –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 вы можете следить за нагрузкой на сетевой интерфейс компьютера через Task Manager.
Важно отметить, что при тестировании Iperf используем всю доступную пропускную способность канала связи между клиентом и сервером, что может негативно повлиять на продуктивные приложения и пользователей.
Полный список опций утилиты iperf можно получить так:
iperf3 –help
Iperf – простая и удобная сетевая утилита, которая поможет вам измерить производительность сетевого подключения и максимальную скорость передачи данных между двумя устройствами.
Узнать, как воспользоваться iperf в ОС Windows не так сложно. А польза от данных знаний несомненна. Материала на тему обычно встречается немного, да и объяснения там далеки от понятных. Попытаемся разобраться, как действует утилита. Для чего она предназначена. Программа работает под Windows, Linux, имеет несколько разновидностей. Настройка, если вникнуть, позволит воспользоваться всеми возможностями программы.
Что такое iperf?
Iperf представляет собой специализированное ПО, предназначенное для оценки пропускной способности канала. Тонкость состоит в том, что необходимы 2 ПК. Один будет работать как сервер, другой – как клиент. И на обоих нужны установленные iperf.
По поводу замера скорости существует 2 разновидности:
- на выходе;
- на входе.
В первом варианте компьютер будет работать как «клиент». Во втором – как «сервер».
Что умеет?
Ipref служит для замера пропускной способности канала. В утилите имеется несколько настраиваемых параметров. Работает с протоколами TCP, UDP, SCTP, IPv4, IPv6. Для сисадмина iperf – незаменимый инструмент. Главное, что ПО бесплатно, не требует расходов на покупку, лицензирование.
Различают 2 разновидности iperf: iperf2 и iperf3. Они действуют независимо друг от друга. Допускается использовать посредством Командой строки Windows. Либо в оболочке Java с графическим интерфейсом.
Установка ipref
Для начала утилиту iperf следует скачать. Она не входит в сборки Windows, не является частью ОС. Загружают iperf отдельно. Можно скачать здесь, предварительно выбрав требуемую разрядность ОС:
https://www.softslot.com/download-2898.html
Дожидаемся завершения загрузки iperf. Проще всего сразу скачивать файл инсталляции на системный диск. Казалось бы, можно запустить утилиту и пользоваться. Но нет. Ничего не получится. Следует воспользоваться Командной строкой.
Алгоритм следующий:
- Запустить Командную строку (в Windows 10 ввести «cmd» в поиске).
- Ввести «cd c:/» (если утилита находится на данном диске).
- Далее, для использования в качестве клиента, вводится сочетание: «iperf -c -t 30 -i 10». Здесь «t» задает время теста, а «i» – периодичность обновления данных.
Если будет архивный файл дистрибутива iperf, то его перед установкой потребуется распаковать. Иногда необходимо запускать утилиту под учетной записью Администратора. Список доступных команд появится после ввода «dir». Обязательно скачивается наиболее свежая версия ПО. Выбрать «двойку» или «тройку» iperf – решать самому пользователю.
Синтаксис и опции
Применительно к синтаксису ПО iperf следует понимать, что клиентская и серверная части существуют независимо друг от друга. И значит, запускаются различными командами. Вот как нужно действовать применительно к каждой ситуации:
- для сервера – $ iperf3 -s опции;
- для клиента – $ iperf3 -c адрес_сервера опции;
Когда разобрались с запуском, можно переходить к командам, опциям программы. Их перечень обширен, но и здесь не так сложно вникнуть, если захотеть. Начнем с общих.
Ввод «-p» определяет порт для подключения. «-f» означает формат данных для отображения на дисплее. Доступны килобиты, мегабиты, килобайты, мегабайты в секунду. Остальные команды перечислены ниже:
- «-i» означает интервал в демонстрации данных теста iperf;
- «-F» задает использование информации из файла (а не генерации случайных показателей);
- «-l» позволяет определить размер буфера (изначально установлено 8 килобайт);
- «-m» отсылает к сегменту, его величине;
- «-o» выводит результаты для записи в файл;
- «-p» устанавливает порт привязки (5201 в пресете);
- «-u» задает UDP сетевой протокол;
- «-w» управляет размером окна;
- «-B» привязывает к интерфейсу, хосту;
- «-J» запускает переход к JSON-формату.
Это были базовые команды. Далее перейдем к серверным.
Опции для сервера
Данные действия предназначены для управления приложением ipref на серверном компьютере. Вот что приготовили разработчики:
- «-s» задает работу в режиме сервера;
- «-D» активирует фоновый запуск;
- «-I» устанавливает путь сохранения PID-файла;
- «-1» назначает однократное клиентское подключение с последующим выходом.
Не так много, как бы хотелось. Для режима «клиент» выбор побогаче.
Опции для клиента
Как уже известно, приложение iperf может работать в 2 базовых режимах. Вот что доступно для ПК клиента:
- «—sctp» включает замену сетевого протокола TCP на SCTP;
- «-u» переключает на протокол UDP;
- «—connect-timeout» позволяет задать время начального подключения к серверу (измеряется в миллисекундах);
- «-b» означает скорость, битрейт. В режиме TCP ничем не ограничен, для UDP протокола задан от 1 мегабита в секунду;
- «-t» устанавливает время на прогонку теста. Измеряется в секундах. Изначально параметр задан в 10 секунд;
- «-R» запускает реверс. То есть измерение производится не от клиента к серверному ПК, а в обратном направлении;
- «-P» определяет число действующих потоков;
- «-w» регулирует размеры окна TCP.
Кроме того, доступно принудительное переключение на настройки протокола IPv4 (ввести «-4»), IPv6 («-6»).
Как пользоваться в операционной системе Windows
Прежде всего, следует выбрать требуемую версию приложения iperf. Она зависит от разрядности Windows, ее версии – 7, 8, 10. Когда определена нужная разновидность, скачивают дистрибутив, устанавливают ПО. Затем запускают Командную строку, это базовый режим работы iperf. Обязательно следует использовать учетную запись Администратора.
Далее принимается решение, какой параметр пропускной способности будет измеряться. То есть, станет приложение iperf определять скорость для сервера либо же для клиентского ПК.
Примеры
Проще всего понять работу приложения на конкретном примере. Тогда станет понятно, что происходит в iperf. А также, что именно, как там измеряется. Для упрощения ситуации используем сервер с конкретным адресом, 192.168.0.101. Клиентский адрес может быть каким угодно. Начинаем с запуска серверного ПК.
Используем версию iperf3, но допускается и другая. Алгоритм действий следующий:
- Ввести «iperf3 –s». Чтобы определить единицы измерения скорости, задается команда «-f». Среди наиболее часто используемых – кило, мега, гигабиты. Обозначаются, соответственно, литерами «k», «m», «g». Доступны также кило, мега, гига и терабайты. Для них выбраны символы «K», «M», «G», «T». Сочетание «iperf3 -s -f K» означает отображение скорости в килобайтах.
- Настроить порт. В базовых установках задан порт 5201. Чтобы сменить адрес, используется команда «-p». Для перехода на другой порт нужно ввести «ipref3 -s -p 4000».
- Настроить брандмауэр. Для версии ufw набирается сочетание «sudo ufw allow 5201». Соответственно, для firewalld оно будет «sudo firewall-cmd —permanent —add-port=5201/tcp» (при TCP протоколе). Для UDP меняются последние 3 символа.
- Запуск в фоне. С этим справляется назначенная литера «-D». В таком случае данные записываются в архив. Что нужно сделать: «iperf3 -s -D —logfile /var/log/ipref.log».
- Проверка работы сервера. Проводится вводом «ss». Полностью команда выглядит так: «ss -tulpn | grep 5201».
- Назначение айпи. Для 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, 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:
Однако, на моей практике, программа не заработала, а после запуска зависала (или не запускался iperf3.exe). Проблему удалось решить с помощью скачанного с официального сайта клиента (файлов iperf3.exe и cygwin1.dll), которыми я заменил одноименные файлы в папке bin.
При желании, программу можно также запустить в режиме сервера:
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
IPerf — утилита командной строки, предназначенная для тестирования пропускной способности канала связи. Она включает в себя генератор TCP и UDP трафика и используется для определения скорости прохождения трафика между двумя узлами в сети. IPerf (для Windows) представляет из себя небольшой исполняемый файл размером около 100кб, в котором содержатся клиентская и серверная части. Он не требует установки, достаточно просто скопировать ее на оба компьютера и запустить сначала серверную часть программы, а затем клиентскую.
В самом простом варианте запуск IPerf происходит следующим образом:
iperf -s — на сервере.
iperf -c 192.168.1.56 — на клиенте, где 192.168.1.56 — IP-адрес сервера.
По умолчанию используется TCP порт 5001, тестирование проходит в течение 10 секунд. Этого вполне достаточно для быстрой оценки скорости соединения, однако возможности IPerf этим не ограничиваются. Например:
iperf -s -i10 -p80 — сервер прослушивает 80 порт и выдает результат с интервалом в 10 секунд.
iperf -c 192.168.1.60 -p80 -t120 — клиент соединяется с 80 портом сервера, тестирование в течение 120 секунд.
Приведу полный список опций программы:
- -f — в каком формате показывать скорость (Kbits, Mbits, KBytes, Mbytes);
- -i — с какими интервалами отображать промежуточные результаты;
- -l — размер буфера (по умолчанию 8 KB);
- -m — показывать максимальный размер TCP сегмента (MSS);
- -p — указать порт, по которому будет происходить соединение (по умолчанию 5001);
- -u — использовать UDP вместо TCP;
- -w — размер окна TCP;
- -B — указание для сервера, на каком интерфейсе принимать трафик;
- -C — режим совместимости со старыми версиями;
- -M — позволяет изменить максимальный размер TCP сегмента (MSS);
- -N — меняет некоторые опции TCP (отключение алгоритма Нагла);
- -V — использовать IPV6;
- -h — вывод справки.
Опции для сервера:
- -s — запустить как сервер и отображать всю информацию на экран;
- -D — запустить как сервис (в фоновом режиме) и не отображать информацию.
Опции клиента:
- -b — используемая полоса для UDP (по умолчанию 1Mbit/sec);
- -c — запустить как клиент и соединиться с сервером;
- -d — тестировать линию в обе стороны;
- -n — установить размер передаваемого трафика (нельзя использовать c ключом -t);
- -r — производить двунаправленное тестирование поотдельности;
- -t — указать время тестирования (по умолчанию 10 сек);
- -F — не генерировать трафик, а передавать готовый файл;
- -I — ввод данных, передаваемых из STDIN (стандартный поток ввода);
- -L — порт, на котором клиент будет принимать двунаправленный трафик;
- -P — запуск нескольких потоков параллельно;
- -T — время жизни пакета для групповой рассылки (по умолчанию 1).
Программа IPerf очень проста и удобна в использовании, однако для эстетов тех, кто не любит работать в командной строке, есть графический интерфейс для IPerf, написанный на Java — JPerf. Установки он также не требует, но для его работы необходима установленная платформа Java.
В общем, IPerf — удобный инструмент для измерения скорости и качества сетевого соединения, который стоит всегда иметь под рукой. Программа абсолютно бесплатна, загрузить ее можно отсюда, или с сайта SourceForge.
Для специалистов, занимающихся настройкой и оптимизацией сети, инструмент Iperf Windows является незаменимым помощником. Благодаря его функциональным возможностям и простому интерфейсу, этот инструмент позволяет проводить детальные измерения пропускной способности сети и выполнять ее тестирование. Он особенно полезен для администраторов компьютерных сетей и технической поддержки, которым важно знать о реальной производительности сети, чтобы эффективно решать возникающие проблемы и находить оптимальные настройки.
В данной статье мы рассмотрим основные возможности и функции Iperf Windows, а также покажем, как использовать этот инструмент эффективно и без проблем. Мы расскажем о нескольких способах установки Iperf на операционные системы Windows и настроим его для проведения измерений пропускной способности сети. Кроме того, мы приведем примеры команд, которые можно использовать для изучения различных аспектов работы сети, таких как латентность, джиттер и потери пакетов.
Примечание: Для работы с Iperf Windows вам потребуется иметь базовые знания о сетях и уметь выполнять команды в командной строке. Если вы новичок в этой области, рекомендуется ознакомиться с основами сетевых технологий и командной строки перед использованием Iperf.
Iperf Windows является открытым программным обеспечением и распространяется на условиях лицензии GNU General Public License (GPL). Он совместим с различными версиями Windows, включая Windows 10, Windows 8 и Windows 7. Iperf также доступен для других операционных систем, включая Linux и macOS.
Содержание
- Iperf Windows: основные принципы использования и преимущества
- Установка Iperf на Windows: шаг за шагом инструкция
- Настройка сервера для оптимального использования Iperf
- Использование ключей командной строки для управления Iperf
- Оценка производительности сети с помощью Iperf
- Избегание распространенных проблем при использовании Iperf на Windows
- 1. Установка Iperf
- 2. Проверка совместимости
- 3. Запуск Iperf как сервера
- 4. Запуск Iperf как клиента
- 5. Проверка прав доступа
- 6. Антивирусное ПО и брандмауэр
- 7. Соединение и кабели
- 8. Оптимальные настройки
Iperf Windows: основные принципы использования и преимущества
Iperf — это утилита командной строки, которая позволяет измерять пропускную способность сети путем генерации трафика.
Основные принципы использования Iperf в Windows:
- Установка: для начала работы с Iperf в Windows необходимо скачать и установить утилиту.
- Запуск: после установки Iperf можно запустить через командную строку Windows.
- Выбор режима работы: Iperf позволяет работать в двух основных режимах — сервера и клиента. Режим сервера позволяет получать данные о пропускной способности, а режим клиента — отправлять данные и получать результаты измерений.
- Настройка параметров: Iperf предлагает множество параметров для настройки теста пропускной способности. Некоторые из них — это размер пакета, интервал между отправкой пакетов и длительность теста.
- Анализ результатов: после завершения теста Iperf отображает результаты измерений, включающие пропускную способность и задержку.
Преимущества использования Iperf в Windows:
- Бесплатность и открытость: Iperf является бесплатным и открытым программным обеспечением, что позволяет свободно использовать и изменять его.
- Универсальность: Iperf поддерживает работу с различными сетевыми протоколами, что делает его полезным инструментом для измерения пропускной способности в разных сетевых средах.
- Гибкость настроек: Iperf позволяет настраивать различные параметры теста, что дает возможность получить более точные и полезные результаты.
- Простота использования: Iperf имеет простой интерфейс командной строки, который легко понять и использовать.
Использование Iperf в Windows позволяет эффективно измерять пропускную способность сети и анализировать ее качество и стабильность. Благодаря широким возможностям настройки и простому интерфейсу, Iperf является популярным инструментом среди системных администраторов и специалистов по сетям.
Установка Iperf на Windows: шаг за шагом инструкция
Для установки Iperf на операционной системе Windows необходимо следовать нижеприведенным инструкциям.
- Скачайте исполняемый файл Iperf для Windows с официального сайта разработчика или с надежного источника.
- Запустите установочный файл Iperf на вашем компьютере.
- Прочитайте и принимайте условия лицензионного соглашения, нажав на соответствующий флажок.
- Выберите место для установки Iperf на вашем компьютере. Рекомендуется выбрать путь по умолчанию или любое другое место на диске, которое вам удобно.
- Выберите компоненты, которые требуется установить. В большинстве случаев рекомендуется оставить выбранными все компоненты.
- Нажмите кнопку «Установить», чтобы начать процесс установки.
- Ожидайте, пока процесс установки завершится. Время установки может варьироваться в зависимости от производительности вашего компьютера и выбранных компонентов.
- После успешной установки Iperf на вашем компьютере будет доступен для использования.
Теперь у вас есть Iperf на вашем компьютере с операционной системой Windows. Вы можете использовать его для измерения пропускной способности вашей сети или выполнения других сетевых тестов.
Настройка сервера для оптимального использования Iperf
Для эффективного использования программы Iperf на сервере необходимо произвести определенные настройки. В этом разделе мы рассмотрим несколько ключевых моментов, которые помогут вам получить оптимальные результаты.
1. Выделите достаточно ресурсов для работы сервера:
Перед запуском Iperf убедитесь, что сервер имеет достаточное количество свободной оперативной памяти и процессорных ресурсов. Потому что работа Iperf требует определенной вычислительной мощности.
2. Отключите лишние службы и программы:
Для достижения максимальной производительности сервера отключите все ненужные службы и программы, которые могут потреблять ресурсы на вашем компьютере. Временно выключите антивирусное программное обеспечение, фаерволы и другие приложения, которые могут повлиять на производительность.
3. Запустите серверный режим:
Для запуска Iperf в режиме сервера используйте команду: iperf -s. Это позволит Iperf слушать входящие соединения и готовиться к тестам скорости.
4. Настройте порт:
При запуске Iperf в режиме сервера вы можете указать порт, на котором будет слушать сервер. Запустите Iperf с параметром -p, а затем укажите номер порта. Например, команда iperf -s -p 5001 настроит Iperf на прослушивание порта 5001.
5. Используйте TCP или UDP:
Iperf имеет возможность тестировать скорость передачи данных по протоколам TCP и UDP. Поскольку на сервере может быть установлено множество дополнительных сервисов, которые используют TCP или UDP, выберите протокол, который наиболее соответствует вашим потребностям.
6. Установите таймаут:
По умолчанию Iperf не имеет таймаута. Однако, при работе в режиме сервера, вы можете установить таймаут при помощи параметра -t. Например, команда iperf -s -t 60 установит таймаут в 60 секунд.
Следуя этим рекомендациям, вы сможете настроить сервер таким образом, чтобы использование Iperf было более эффективным и результативным.
Использование ключей командной строки для управления Iperf
В Iperf для управления программой и настройки ее работы можно использовать различные ключи командной строки. Ключи предоставляют возможность указать различные параметры, такие как лимит пропускной способности, время тестирования, ограничение пропускной способности и другие.
Ниже приведены некоторые наиболее распространенные ключи командной строки, которые можно использовать с Iperf:
- -s — запускает Iperf в режиме сервера;
- -c — указывает IP-адрес или имя сервера, к которому нужно подключиться;
- -p — задает номер порта, на котором будет запущен сервер;
- -t — определяет время тестирования в секундах;
- -P — задает количество параллельных потоков для отправки и приема данных;
- -b — ограничивает пропускную способность в битах в секунду;
- -i — задает интервал вывода статистики.
Пример использования ключа командной строки:
Команда | Описание |
---|---|
iperf3 -s | Запускает Iperf в режиме сервера. |
iperf3 -c 192.168.1.1 | Подключается к серверу с IP-адресом 192.168.1.1. |
iperf3 -c server.example.com -p 5001 | Подключается к серверу с именем server.example.com и портом 5001. |
iperf3 -c 192.168.1.1 -t 60 | Тестирует пропускную способность в течение 60 секунд. |
iperf3 -c 192.168.1.1 -P 4 | Использует 4 параллельных потока для отправки и приема данных. |
iperf3 -c 192.168.1.1 -b 100M | Ограничивает пропускную способность 100 мегабитами в секунду. |
iperf3 -c 192.168.1.1 -i 1 | Выводит статистику каждую секунду. |
Ключи командной строки Iperf позволяют гибко настраивать работу программы и получать необходимую информацию о пропускной способности сети.
Оценка производительности сети с помощью Iperf
Оценка производительности сети является важной задачей при настройке и оптимизации сетевых соединений. Один из эффективных инструментов, который может помочь в этом деле, — Iperf.
Iperf — это программное обеспечение с открытым исходным кодом, предназначенное для измерения пропускной способности сети. Оно позволяет анализировать и оценивать различные аспекты производительности сети, такие как пропускная способность, задержка, джиттер и потеря пакетов.
Вот некоторые способы, которые могут помочь вам использовать Iperf для оценки производительности вашей сети:
- Установка Iperf: Первым шагом является установка Iperf на ваш компьютер. Iperf поддерживается на различных операционных системах, включая Windows. Вы можете загрузить исполняемый файл Iperf с официального сайта и установить его на свой компьютер.
- Запуск Iperf сервера: После установки Iperf вы можете запустить Iperf сервер на одном из компьютеров в вашей сети. Iperf сервер будет слушать запросы на измерение производительности сети.
- Запуск Iperf клиента: Затем вы можете запустить Iperf клиент на другом компьютере в вашей сети. Клиент будет генерировать трафик и отправлять его на сервер для измерения производительности сети.
- Измерение производительности: Когда сервер и клиент работают, вы можете использовать команды Iperf для измерения пропускной способности, задержки и других параметров сетевой производительности. Iperf предоставляет различные параметры командной строки, которые можно использовать для настройки и измерения производительности сети.
Например, вы можете использовать команду iperf -c server_ip_address
для измерения пропускной способности сети между клиентом и сервером. Указав дополнительные параметры, такие как порт или продолжительность измерения, вы можете получить более подробные результаты.
Результаты измерений Iperf могут быть представлены в виде отчетов, которые позволяют вам оценить производительность сети. Вы можете использовать эти данные для выявления узких мест в сети и принятия мер по их устранению или оптимизации.
Параметр | Описание |
---|---|
Пропускная способность | Измеряет скорость передачи данных между клиентом и сервером. |
Задержка | Измеряет время, которое требуется для передачи данных от клиента к серверу и обратно. |
Джиттер | Измеряет изменение задержки между пакетами данных, передаваемыми по сети. |
Потеря пакетов | Измеряет количество пакетов данных, которые не были получены клиентом. |
В итоге, Iperf является мощным инструментом для оценки производительности сети. Он позволяет измерять различные параметры производительности и получать подробные данные, необходимые для оптимизации сетевых соединений. Загрузите Iperf на свой компьютер и начните использовать его для измерения производительности вашей сети уже сегодня!
Избегание распространенных проблем при использовании Iperf на Windows
Iperf — это мощный инструмент для измерения пропускной способности сети, который также доступен для платформы Windows. Однако при использовании Iperf на Windows могут возникать некоторые распространенные проблемы. В этом разделе мы рассмотрим, как избежать этих проблем и получить максимальную пользу от использования Iperf.
1. Установка Iperf
Первым шагом при использовании Iperf на Windows является его установка. Убедитесь, что вы скачиваете последнюю версию Iperf с официального сайта. При установке следуйте инструкциям и убедитесь, что Iperf был успешно установлен на вашем компьютере.
2. Проверка совместимости
Прежде чем начинать измерять пропускную способность с помощью Iperf, убедитесь, что ваша версия Windows совместима с Iperf. В некоторых случаях могут возникнуть проблемы, если ваша версия Windows обновлена не до последней версии или если у вас установлена 32-битная версия Iperf на 64-битную операционную систему Windows. Проверьте совместимость перед использованием Iperf.
3. Запуск Iperf как сервера
Если вам нужно использовать Iperf в качестве сервера, убедитесь, что вы правильно запускаете его. Выполните команду «iperf -s» в командной строке, чтобы запустить Iperf в режиме сервера. Проверьте, что Iperf работает корректно, и у вас нет проблем с запуском сервера.
4. Запуск Iperf как клиента
Если вы хотите использовать Iperf в качестве клиента, убедитесь, что вы правильно указываете адрес сервера и порт при запуске Iperf в командной строке. Неправильно указанный адрес сервера или порт может привести к невозможности подключения к серверу. Проверьте настройки перед запуском клиента.
5. Проверка прав доступа
Если вы сталкиваетесь с проблемами при запуске Iperf на Windows, убедитесь, что у вас есть права администратора. Некоторые функции Iperf требуют повышенных прав доступа. Попробуйте запустить Iperf с правами администратора, чтобы избежать проблем с доступом.
6. Антивирусное ПО и брандмауэр
Ваше антивирусное программное обеспечение или брандмауэр могут блокировать Iperf, что приводит к невозможности его запуска или работе. Убедитесь, что Iperf не заблокирован вашим антивирусным программным обеспечением или брандмауэром. Если нужно, добавьте Iperf в исключения или временно отключите антивирусное программное обеспечение и брандмауэр.
7. Соединение и кабели
При использовании Iperf для измерения пропускной способности сети убедитесь, что ваше сетевое соединение и кабели в порядке. Неисправные или некачественные кабели могут привести к неверным результатам или проблемам при передаче данных. Проверьте и обновите кабели при необходимости.
8. Оптимальные настройки
Используйте настройки Iperf, которые наиболее соответствуют вашей сети и требованиям. Экспериментируйте с различными настройками, такими как размер окна, параллельные потоки и интервалы измерения, чтобы получить наилучшие результаты. Учтите, что некоторые настройки могут влиять на производительность и стабильность Iperf.
Соблюдение этих рекомендаций поможет вам избежать распространенных проблем при использовании Iperf на Windows. Использование Iperf для измерения пропускной способности сети может быть очень полезным инструментом для оптимизации сетевых настроек и решения проблем с пропускной способностью.