Iperf не запускается на windows 10

Каким iperf пользоваться для работе с Windows, как замерить скорость и что вообще показывает утилита? На все эти вопросы можно получить ответы, разобравшись с настройкой ПО.

Как пользоваться утилитой 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, но и с другими ОС. Но об этом поговорим в следующий раз.

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

Тематические термины: 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

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

Пропуская способность канала – важнейшая характеристика работы сети, влияющая на максимальный объем данных, который можно передать за единицу времени. Для измерения этого параметра применяется специальный софт. Одной из лучших программ такого плана, сочетающая удобство и функциональность, на текущий момент считается кроссплатформенная утилита iperf3. Она имеет клиент-серверную архитектуру и позволяет достаточно точно измерить скорость передачи данных между двумя узлами сети, широко используется в США, Европе, России, других странах и регионах.

Для загрузки канала программа генерирует TCP и UDP трафик, который пересылается от клиента серверу. В результате оператор узнает «исходящую» скорость. Скачать и использовать утилиту может любой пользователь Windows, поскольку разобраться в особенностях ее работы сравнительно легко. Важно лишь внимательно читать инструкцию и последовательно выполнять приведенные действия. Утилита iperf3 доступна также пользователям Linux.

Содержание

  1. Отличия версий iperf2 и iperf3
  2. Установка iperf3
  3. Синтаксис и опции iperf
  4. Пример использования

Отличия версий iperf2 и iperf3

Существуют две независимые ветки развития программы iperf. Работы по развитию iperf2 были приостановлены в конце 2000-х годов, но возобновлены в 2014-м другими разработчиками. Последняя актуальная версия данной ветки – 2.0.8. После реанимации проекта iperf2 превратился в современный инструмент со своим набором функций. Сегодня он в первую очередь ориентирован на использование трафика UDP для оценки задержки, поддержку большого перечня платформ.

Разработка iperf3 ведется параллельным курсом, и сегодня большая часть пользователей применяет именно эту версию для оценки пропускной способности сети. Два варианта программы имеют между собой достаточно много отличий в плане архитектуры, настроек, функционала. К примеру, iperf3 – это однопоточный инструмент. Предыдущая же модификация – многопоточная.

Из-за особенностей реализации каждый инструмент рекомендован для решения отдельного набора задач. Утилиту iperf2 стоит использовать для работы с параллельными потоками, двунаправленных тестов. Версия iperf3 лучше подойдет для однопоточного высокоскоростного тестирования.

Установка iperf3

Чтобы пользоваться утилитой, сначала необходимо загрузить с сайта свежую версию программы. На приведенной странице представлены сборки для ОС семейства Windows от XP до Win10. Там же можно найти варианты утилиты и для других операционных систем.

Скачать iperf3 windows

Можно распаковать загруженный архив в любую папку, но лучше выбрать для этой цели системный каталог Windows. Тогда при запуске командной строки к работе с утилитой можно приступить сразу же. К примеру, открыв окно CMD, можно сразу будет написать команду iperf3.exe -c 192.168.13.10 или любую другую.

Существуют варианты утилиты в типичном оконном Windows-исполнении. Примером такой программы служит iperf3 cygwin с gui-интерфейсом. Работать с подобными приложениями неподготовленному пользователю проще. Однако они имеют ограниченный функционал и часто выдают ошибки.

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

Версии программы для Windows используют те же команды, что и в iperf3 debian и других Linux-системах. К каждой опции будет приложено пояснение на русском языке, что позволит быстро понять, как пользоваться iperf. Как было сказано выше, iperf3 может быть запущена как:

  • клиентский вариант;
  • сервером.

Чтобы запустить программу в качестве сервера и использовать соответствующие опции с ключами используется следующая комбинация:

iperf3 -s опции.

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

Сервер iperf3 запущен (с назначенным портом , на котором работает приложение. По умолчанию 5201).

Чтобы запустить клиент iperf3 windows , необходимо набрать в командной строке:

iperf3 -c адрес_сервера опции

Как видно из примера, при запуске клиентской части необходимо указать адрес сервера iperf, где утилита запущена в соответствующем серверном режиме.

Перейдем к рассмотрению общих опций программы.

  • -p, —port – указывается порт, к которому необходимо подключиться (серверный порт);
  • -f, —format – определяем формат вывода данных. Популярные значения: k, m, g, t (Kbits, Mbits, KBytes, MBytes), но есть и другие варианты;
  • -i, —interval – временной интервал между выводами результатов теста;
  • -F, —file – применить данные, находящиеся в указанном файле, вместо генерирования случайных сведений;
  • -V, —verbose – вывод всей доступной информации по тесту;
  • -J, —json – вывод в формате JSON;
  • —logfile – включить логирование данных;
  • —forceflush – произвести очистку истории перед печатью на экране последующих тестовых результатов;
  • -v, —version – вывод использующейся версии утилиты.

Ниже укажем в нашем руководстве опции, доступные серверной части.

  • -D, —daemon – запуск сервера в фоне (опцию можно использовать и для клиента);
  • -I, —pidfile – путь, который будет использован, чтобы записать PID-файл процесса;
  • -1, —one-off – выполнить обработку одного клиентского подключения, после чего завершить работу и выйти.

При работе с клиентской частью применяется большее количество опций.

  • —sctp – применять SCTP в качестве альтернативы TCP;
  • -u, —udp – задействовать UDP вместо TCP;
  • —connect-timeout – задержка для первого соединения с серверной частью (мс);
  • -b, —bitrate – задать битрейт (при использовании UDP применяется по умолчанию 1 Мбит/с, для TCP показатель со старта не имеет ограничений);
  • -t, —time – отрезок времени для одного тестового этапа в секундах (по умолчанию параметр равен 10 с);
  • -R, —reverse – запуск обратного теста, когда пакеты данных направляются от серверной станции клиентской части;
  • -P – параметр позволяет задать, сколько потоков необходимо использовать;
  • -4, —version4 – поддерживать исключительно протокола IPv4;
  • -6, —version6 – применять только IPv6.

Здесь приведен базовый перечень опций, хотя существуют и другие, которые можно вывести на экран с помощью соответствующей команды.

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

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

Итак, мы хотим выполнить запуск утилиты и сохранить тестовые данные в log-файле. Для этого прописываем команду с параметрами:

iperf3 -c speedtest.hostkey.ru -p5202 —logfile c:utilsiperflog.txt

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

В итоге выполнится 10-секундный тест, а результаты сохранятся в файле text.log. Как видно из приведенного примера, измерение скорости сети с помощью iperf не составляет большой проблемы. Для определения пропускной способности необходимо изучить колонку Bitrate. Средние значения указываются под чертой.

iperf3 windows пример теста измерения скорости

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

Использование iperf3 в командной строке Windows

Подводя итог, хочу сказать, что утилита iperf3 будет хорошим помощником в работе сетевого инженера при замере пропускной способности между узлами локальной или глобальной сети.

Надеюсь, данная статья была полезна для вас.

I have tried all the iperf3 binaries from the website
https://iperf.fr/iperf-download.php

However when i am trying to start the application with udp, the binaries are unable to recognize -u parameter . The binaries came with only one dll cygwin.dll . Does iperf3 need more libraries.

C:UsersSit LabDesktopi3>iperf3 -s -i1 -u
iperf3: parameter error — some option you are trying to set is client only

Usage: iperf [-s|-c host] [options]
iperf [-h|—help] [-v|—version]

Server or Client:
-p, —port # server port to listen on/connect to
-f, —format [kmgKMG] format to report: Kbits, Mbits, KBytes, MBytes
-i, —interval # seconds between periodic bandwidth reports
-F, —file name xmit/recv the specified file
-A, —affinity n/n,m set CPU affinity
-B, —bind bind to a specific interface
-V, —verbose more detailed output
-J, —json output in JSON format
-d, —debug emit debugging output
-v, —version show version information and quit
-h, —help show this message and quit
Server specific:
-s, —server run in server mode
-D, —daemon run the server as a daemon
-1, —one-off handle one client connection then exit
Client specific:
-c, —client run in client mode, connecting to
-u, —udp use UDP rather than TCP
-b, —bandwidth #[KMG][/#] target bandwidth in bits/sec (0 for unlimited)
(default 1 Mbit/sec for UDP, unlimited for TCP)
(optional slash and packet count for burst mode)
-t, —time # time in seconds to transmit for (default 10 secs)
-n, —bytes #[KMG] number of bytes to transmit (instead of -t)
-k, —blockcount #[KMG] number of blocks (packets) to transmit (instead of -t or -n)
-l, —len #[KMG] length of buffer to read or write
(default 128 KB for TCP, 8 KB for UDP)
-P, —parallel # number of parallel client streams to run
-R, —reverse run in reverse mode (server sends, client receives)
-w, —window #[KMG] set window size / socket buffer size
-M, —set-mss # set TCP maximum segment size (MTU — 40 bytes)
-N, —nodelay set TCP no delay, disabling Nagle’s Algorithm
-4, —version4 only use IPv4
-6, —version6 only use IPv6
-S, —tos N set the IP ‘type of service’
-Z, —zerocopy use a ‘zero copy’ method of sending data
-O, —omit N omit the first n seconds
-T, —title str prefix every output line with this string
—get-server-output get results from server

[KMG] indicates options that support a K/M/G suffix for kilo-, mega-, or giga-

iperf3 homepage at: http://software.es.net/iperf/
Report bugs to: https://github.com/esnet/iperf

C:UsersSit LabDesktopi3>

Thanks
Bharat C P

Содержание

  1. Iperf не запускается на windows 10
  2. Содержание статьи:
  3. Что такое Iperf
  4. Виды и версии Iperf
  5. Основные отличия Iperf2 и Iperf3
  6. Где скачать Iperf
  7. Как установить Iperf в Windows
  8. Как установить Iperf в CentOS 7
  9. Установка iperf на CentOS 8
  10. Установка iperf3 в CentOS 7 и 8
  11. Raspberry Pi и iperf — тестер пропускной способности для устройств «Умного дома» и Интернета вещей
  12. Публичный Iperf для тестирования IP канала
  13. Публичный Iperf для тестирования IP канала
  14. Измерение пропускной способности вашей Wi-Fi и Ethernet сети с помощью iPerf
  15. Что такое iPerf?
  16. Зачем так сложно, если есть speedtest?
  17. Установка
  18. Использование
  19. Примеры использования
  20. Описание всех параметров
  21. Русские Блоги
  22. Подробное руководство по инструменту тестирования производительности сети Iperf3
  23. Ссылка для скачивания этой статьи
  24. 1. Введение в Iperf
  25. Два, установка Iperf
  26. В-третьих, использование Iperf
  27. Четыре, вариант использования Iperf
  28. Пять, введение Jperf
  29. Ссылка для скачивания этой статьи
  30. Приложение: Справочные материалы

Iperf не запускается на windows 10

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов России Pyatilistnik.org. В прошлый раз мы с вами разобрали применение очень полезной утилиты Robocopy, с помощью которой мы мигрировали данные файлового сервера. В сегодняшней статье я хочу вас познакомить с утилитой Iperf, я разберу ее установку, примеры ее использования в вашей инфраструктуре. Хочу отметить, что она должна быть частью вашего административного набора программ.

Содержание статьи:

Что такое Iperf

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

Виды и версии Iperf

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

Какова история iperf3 и в чем разница между iperf2 и iperf3?

iperf2 был заброшен в конце 2000-х годов на версии 2.0.5, несмотря на некоторые известные ошибки и проблемы. Потратив некоторое время на решение проблем с iperf2, ESnet к 2010 году решила, что нужен новый, более простой инструмент, и приступила к разработке iperf3. Цель состояла в том, чтобы сделать инструмент как можно более простым, чтобы другие могли внести свой вклад в код. По этой причине было решено сделать инструмент однопоточным и не беспокоиться о обратной совместимости с iperf2.Многие запросы функций для iperf3 поступили из проекта perfSONAR ( http://www.perfsonar.net).

iperf

Затем в 2014 году Боб (Роберт) МакМахон из компании Broadcom возобновил разработку iperf2. Он исправил многие проблемы с iperf2 и добавил ряд новых функций, похожих на iperf3. iperf2.0.8, выпущенный в 2015 году, сделал iperf2 полезным инструментом. Текущее развитие iperf2 сосредоточено на использовании UDP для тестирования задержки, а также на широкой поддержке платформ.

На момент написания статьи (2019), iperf2 и iperf3 активно (хотя и независимо) разрабатываются. Я рекомендуем ознакомиться с обоими инструментами и использовать те функции, которые лучше всего соответствуют вашим потребностям.

Основные отличия Iperf2 и Iperf3

Каждый из этих инструментов имеет несколько разные функции и немного другую архитектуру, поэтому не стоит ожидать, что какой-то один инструмент будет иметь все необходимое. Лучше быть знакомым с несколькими инструментами и использовать правильный инструмент для вашего конкретного случая использования. Одно ключевое отличие заключается в том, является ли инструмент однопоточным или многопоточным. Если вы хотите протестировать производительность параллельного потока, вы должны использовать многопоточный инструмент, такой как iperf2, хотя в iperf3 так же можно сделать костыль.

Обратите внимание, что все три из этих инструментов находятся в активной разработке, и список уникальных функций для данного инструмента, вероятно, со временем изменится. Исходя из моего опыта, я рекомендуем следующее:

Где скачать Iperf

Загрузить утилиту можно из разных источников. Если мы говорим про Linux, Unix версии, то вы можете использовать ссылку с github:

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

Как установить Iperf в Windows

Чтобы установить Iperf2 или Iperf3 в операционной системе Windows, вам потребуется скачать свежую версию. На выходе у вас будет архивный файл. Далее вы распаковываете архив и получаете файл командной строки и cygwin1.dll

iperf 01

Далее вы открываете командную строку, желательно от имени администратора. После чего пишите команду:

cd C:Tempiperf-2.0.14a-win

После чего вывод списка файлов командой dir

iperf 02

аналогично делаем и в случае с третьей версией утилиты.

iperf 03

Как установить Iperf в CentOS 7

Хочу отметить, что в CentOS 7 и CentOS 8, придется делать слегка иначе. Производить инсталляцию я буду в последней версии CentOS 7, которую поставил ранее.

Начнем с установки Iperf2, для этого выполните команду:

У вас должна выскочить ошибка

iperf 04

Давайте посмотрим список репозиториев, делается это командой:

Как видим, список будет вот такой:

iperf 06

Как видите в файле yum.repos.d прописаны подключенные репозитории, и тут не хватает репозитория epel-release.

Давайте установим epel-release, для этого выполните:

iperf 09

Пробуем теперь посмотреть список репозиториев в файле yum.repos.d и видим, что epel появился.

iperf 08

Произведем установку Iperf

Все успешно выполнено. Конечно вам никто не запрещает подключить репозиторий от седьмой версии CentOS в восьмую, но они могут конфликтовать в будущем по зависимостям. Поэтому, если у вас CentOS 8, то я рекомендую сделать вот так.

iperf 10

Установка iperf на CentOS 8

Ранее, я так же установил CentOS 8 в тестовой среде. Хочу отметить, что если вы попытаетесь добавить репозиторий epel-release командой:

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

iperf 11

Как я и писал выше не желательно устанавливать epel 7 и 8 версии репозитория, я лично в такой ситуации просто выхожу подобным образом. Я открываю сайт https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/ и ищу нужный мне пакет, копирую на нужный мне прямую ссылку.

iperf 12

Далее я устанавливаю в CentOS 8 пакет wget, для этого выполняем:

iperf 13

Далее скачиваем пакет, ссылку на который мы заранее выяснили.

iperf 14

Далее производим установку iperf2 в системе, через выполнение команды:

iperf 14 1

Так же для CentOS 8 рекомендуется включить репозиторий PowerTools, поскольку пакеты EPEL могут зависеть от пакетов из него

iperf 15

Установка iperf3 в CentOS 7 и 8

В CentOS 8 с установкой Iperf3 еще проще, так как это пакет является уже частью стандартных репозиториев, чтобы его поставить просто введите:

iperf 16

Если мы имеем дело с CentOS 7 и ниже, то нужно добавлять репозиторий epel-release

Открытие портов Iperf на CentOS

После того. как вы произвели инсталляцию пакета, вам необходимо открыть порты, которые будет слушать ваша служба при подключении к ней. Напоминаю, что порты по умолчанию у iperf и iperf3, это 5201. Для решения этой задачи мы выполним две команды:

iperf 17

Проверим слушает ли сервер входящие подключения по порту 5210, для этого выполните:

Источник

Raspberry Pi и iperf — тестер пропускной способности для устройств «Умного дома» и Интернета вещей

b k5bolvds izsufj8ovug4efs

В рамках предыдущего моего проекта, «Видеофон из Raspberry Pi», мне довелось для настройки оборудования и решения проблемы, воспользоваться утилитой Iperf. Программа давно известная в кругу специалистов, работающих с локальными сетями.

Утилита позволяет генерировать трафик для анализа пропускной способности сети.

С ее помощью, довольно просто измерить максимальную пропускную способность сети между двумя устройствами (сервером и клиентом) и провести нагрузочное тестирование канала связи.
Думаю, в связи с увеличением домашних сетевых устройств, она будет довольно востребована, как для поиска и анализа неисправностей (сбоев) в работе, так и для оптимального размещения WiFi оборудования.

В моем примере, программа устанавливалась на Raspberry Pi с установленной системой домашней автоматизации MajorDoMo — базовый образ, и на устройства, работающие под ОС Windows (ноутбук), Android (смартфон, ТВ, медиаплеер).

Под катом немного про установку и тестирование, а также небольшой пример интеграции в систему домашней автоматизации MajorDoMo.

На Raspberry Pi, служащий сервером домашней автоматизации MajorDoMo и работающий под ОС Debian 9, устанавливаем утилиту iperf.

По умолчанию устанавливается версия version 2.0.9. Существуют два варианта iperf: iperf 2 и iperf 3. Между собой они не совместимы, для установки 3-ей версии, нужно задать команду

На втором устройстве если возьмем ПК или ноутбук под Windows, то устанавливаем Jperf (устанавливал как 2.0 так и 2.2). Jperf – графическая java-надстройка для Iperf. Надстройка кроссплатформенна, работает как под Windows так и под nix системами. Jperf строит график пропускной способности канала в режиме реального времени. Установка не требуется, в ОС должна быть установлена java-машина.

Подключаем Ethernet сетевым шнуром Raspberry к домашнему роутеру, ноутбук подключен к домашней WiFi сети.

Запускаем утилиту на Raspberry Pi в режиме сервера, Клиент генерирует трафик, сервер ожидает его.

где –s запуск в режиме сервера, -t 3600 на время 3600 секунд или 1 час.
На компьютере под Windows запускаем *.bat файл jperf.bat, вводим адрес сервера, оставляем порт по умолчанию, выставляем время тестирования, нажимаем иконку запуска.

На сервере получаем информацию в текстовом виде, на клиенте в графическом:

image loader

Для операционной системы Android (смартфон, телевизор, ТВ приставка и т.д.) устанавливаем программу из play market: Magic iPerf. Magic iPerf.

Вводим IP адрес нашего RPi, ключи и запускаем тестирование, передвинув ползунок из положения stopped в started.

Справку по командам (ключам запуска утилиты) можно посмотреть набрав в терминале или мобильном приложении — help (-h).

bhweeiiscnzaagtsnkm3lpn 8je

В качестве дополнения: при использовании системы домашней автоматизации MajorDoMo, базовой конфигурации, образа для Raspberri Pi.

При старте системы, в динамике идет проговаривание IP адреса. Что довольно удобно.
Также у сервера прописан hostname (имя, которое присваивается компьютеру, подключенному к сети, которое однозначно идентифицирует в сети и, таким образом, позволяет получить доступ к нему без использования его IP-адреса). Даже не зная IP адреса, можем подключиться SSH терминалом, или же клиентом iperf, набрав вместо IP имя: majordomopi.

Небольшое преимущество RPi, его относительная дешевизна и габариты, позволяющие разместить мини ПК соединив сетевым кабелем его с роутером, будь то в шкафу купе, тумбочке или 19″ стойке.

В базовой конфигурации MajorDoMo, по умолчанию есть 3 кнопки управления, которые ничем не заняты, на главной странице системы это: свет 1, свет 2, свет 3.

image loader

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

В действиях, прописываем строку кода на PHP, которая запускает от пользователя Pi утилиту Iperf в режиме сервера на 600 секунд:

image loader

После этого, при нажатии кнопки «свет 1» с главной страницы системы домашней автоматизации, запускается Iperf на 10 минут, и уже далее, с нужного устройства производится тестирование пропускной способности.

Источник

Публичный Iperf для тестирования IP канала

Публичный Iperf для тестирования IP канала

Сначала что такое Iperf — это инструмент для активных измерений максимально достижимой полосы пропускания в IP-сетях. Он поддерживает настройку различных параметров, связанных со временем, буферами и протоколами (TCP, UDP, SCTP с IPv4 и IPv6). Для каждого теста он сообщает о пропускной способности, потерях и других параметрах.

Говоря по простому Iperf нужен для проверки скорости канала или интернет соединения кому как больше нравится.

Выглядит это примерно так:

image 3

Да у iperf нет графического интерфейса, но это и плюс, так как мы можем запускать iperf везде и на сервере и на обычном ПК. В прочем надо сказать, что люди написали графический интерфейс на java:

0d0884012bc337bdd24c75db73cd0be8

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

Так же имейте ввиду, что в jperf(графическом) используется Iperf второй версии, а версия 2, в отличии от версии 3, не умеет проходить NAT расположенный на клиентской части, поэтому если вы будите тестировать через Jperf то имейте ввиду, дополнительно вам нужно на NAT пробросить соответствующий порт.

Теперь как работает iperf. У него есть сервер и клиент

iperf

Обычно сервер запускается так:

на офф сайте есть документация из которой можно узнать как задать порты и другие параметры.

А вот клиент имеет куда более обширный функционал. Я рекомендую запускать такой командо:

image 4

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

Второй вариант, менее предпочтительный но все же. Я сделал публичный Iperf для тестирования IP канала, Его можно попробовать используя доменное имя iperf.bafista.ru. Он работает на стандартном порту для Iperf3 5201 и поддерживает как TCP так и UDP. Канал 100М. Но тут вы должны понимать, что это сервер работает через обычный домашний интернет, который я могу загрузить торрентами или чем угодно еще в любой момент.

Что касается телефона, то iperf есть и для телефонов. Для Android есть прекрасная программа называется Magic Iperf. Устанавливаете, запускаете, указываете опции как на скрине и измеряете скорость

Источник

Измерение пропускной способности вашей Wi-Fi и Ethernet сети с помощью iPerf

Что такое iPerf?

IPerf это кроссплатформенная клиент-серверная утилита которая позволяет производить замеры пропускной способности каналов. Клиент-серверная утилита подразумевает под собой, что для проверки скорости между двумя устройствами необходимо будет запустить iperf на одном в режиме «сервер», а на другом в режиме «клиент». Скорость измеряется в направлении от клиента к серверу, т.е. если вы на своем компьютере запустили iperf в режиме «клиент», то результатом будет «исходящая» скорость. Чтобы измерить входящую, небоходимо поменять местами клиент и сервер, либо воспользоваться специальным ключем к команде запуска клиента (описание ключей ниже). Важно отметить, что генерирует трафик только клиентская часть.

Зачем так сложно, если есть speedtest?

Сервис speedtest.net — измеряет ширину вашего интернет канала до некого выбранного сервера. В случае когда вы хотите измерить производительность вашей локальной сети, этот вариант не подходит, так как данный сервис измеряет всю линию до определенного сервера, и узкое горлышко может быть на любом ее участке.

Установка

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

Для windows скачиваем версию в соответствии с разрядностью вашей системы, распаковываем содержимое архива в папку, в которую потом будет удобно переходить в командной строке, например C:iperf

Для android имеется два варианта доступные в play market: Magic Iperf и пакет сетевых утилит HE.NET Network Tools (обе программы имеют в своем составе iperf версии 2 и 3)

Для iOS HE.NET Network Tools (в составе iperf версии 2 и 3)

Для macOS также имеются исполняемые файлы, скачиваем там же

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

Параметры запуска iperf везде одинаковы, поэтому конкретные действия по запуску на всех возможных системах расписывать не буду.

Для тестирования нам нужны два устройства с установленным iperf и канал между ними.

На одном из них (не важно на каком) запускаем сервер:

На втором запускаем клиент:

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

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

Замер между стационарным ПК и моим файловым сервером, подключение проводной гигабит, через гигабитный свич:

Но интересней измерить пропускную способность wi-fi сети. Лучшим способом для этого будет использование одного устройства подключенного проводом к вашему свичу/роутеру (например ПК/ноутбук с гигабитным портом или raspberry pi 3b ) и второго, подключенного по wi-fi (например ноутбук или смартфон).

В моем случае у роутера Xiaomi Mi Router3 проводные интерфейсы только 10/100BaseT, поэтому логично будет запустить сервер прям на роутере (иначе измерение упрется в скорость проводного интерфейса), на прошивке padavan установить iperf можно без проблем командой «opkg install iperf3», клиент на android смартфоне:

Даже для android tv нашелся iperf, программа называется analiti, измерил скорость между приставкой Xiaomi MiBox3 и смартфоном через роутер:

Описание всех параметров

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

В большинстве случаев вполне достаточно запуска c параметрами по умолчанию, как это указано выше в разделе «Использование», для тонкой настройки привожу описание всех параметров iPerf3:

—logfile f вывод лога в файл

Только для сервера:

Только для клиента:

задать локальный порт подключения (по умолчанию рандомный порт)

—get-server-output выводить результаты серверной части

Источник

Русские Блоги

Подробное руководство по инструменту тестирования производительности сети Iperf3

Ссылка для скачивания этой статьи

1. Введение в Iperf

1. Что такое iperf?

Iperf может тестировать качество полосы пропускания TCP и UDP с различными параметрами и характеристиками UDP и может использоваться для тестирования производительности некоторых сетевых устройств, таких как маршрутизаторы, межсетевые экраны, коммутаторы и т. Д.

2. Функция Iperf
(1) TCP

① Измерьте пропускную способность сети

② Сообщите размер и наблюдаемое значение значения MSS / MTU

③ Поддержка буферизации значения окна TCP по сокету

④ Когда доступен поток P или Win32, поддерживается многопоточность. Клиент и сервер поддерживают одновременное несколько подключений

(2) аспект UDP

① Клиент может создать поток UDP с заданной пропускной способностью

② Измерьте потерю пакетов

④ Поддержка многоадресной рассылки

⑤ Когда доступны P-потоки, поддерживается многопоточность. Клиент и сервер поддерживают одновременное несколько подключений (Windows не поддерживается)

(3) Прочие аспекты

① При необходимости в опциях можно использовать K (кило-) и M (мега-). Например, 131072 байта можно заменить 128 КБ.

② Вы можете указать общее время работы и даже установить общий объем передаваемых данных.

③ В отчете выберите наиболее подходящую единицу для данных.

④ Сервер поддерживает несколько подключений вместо ожидания однопоточного теста.

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

⑥ Сервер может работать как фоновая программа.

⑦ Сервер может работать как служба Windows.

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

Два, установка Iperf

1. Версия iperf

У Iperf есть две версии: версия для Windows и версия для Linux.

(1) Версия для Unix / Linux

Адрес загрузки версии для Linux: http://code.google.com/p/iperf/downloads/list

Чтобы проверить точность, попробуйте использовать тест среды Linux.

(2) Версия для Windows

Версия iperf для Windows называется jperf или xjperf, она медленно обновляется. В настоящее время последняя версия 1.7 (упакована в jperf).

Адрес загрузки версии для Windows: http://sourceforge.net/projects/iperf/files/jperf/jperf%202.0.0/

2. Установите iperf для Windows.

Для версии iperf для Windows загрузите установочный пакет и распакуйте его напрямую, а затем скопируйте распакованные файлы iperf.exe и cygwin1.dll в каталог% systemroot%.

3. Установка iperf для Linux
(1) Онлайн-установка:

Установка Debian и Ubuntu: apt-get install iperf3

(2) Автономная установка: загрузите установочный пакет соответствующей версии.

В-третьих, использование Iperf

1. Рабочий режим Iperf
2. Часто используемые параметры Iperf (достаточно для тестирования)
3. Общие параметры (общие для сервера и клиента)
4. Выделенные параметры сервера
5. Выделенные параметры на стороне клиента
6. Другие параметры

Четыре, вариант использования Iperf

1. Экологическая подготовка:

(1) IP-адрес сервера: 192.168.0.120

(2) IP-адрес сервера: 192.168.0.121

2. Проверьте пропускную способность TCP.
(1) Откройте серверный режим iperf на стороне Сервера и укажите TCP-порт:
(2) Клиент запускает клиентский режим iperf и подключается к серверу.
(3) Результаты мониторинга сервера

① Интервал представляет собой временной интервал.

② Передача представляет собой объем данных, переданных за интервал времени.

(4) Протестируйте многопоточную пропускную способность TCP.

Если метод отправки не указан, клиент iPerf будет использовать только один поток.

(5) Выполните тест полосы пропускания восходящего и нисходящего каналов (двусторонняя передача)
(6) Остановите сервисный процесс iperf3.

Чтобы остановить процесс обслуживания iperf3, нажмите CTRL + z или CTRL + c

3. Проверьте пропускную способность UDP.
(1) Откройте серверный режим iperf на стороне Сервера и укажите порт UDP:
(2) Клиент запускает клиентский режим iperf и подключается к серверу.
(3) Результаты мониторинга сервера
(4) Протестируйте многопоточную пропускную способность UDP.

Если метод отправки не указан, клиент iPerf будет использовать только один поток.

(5) Выполните тест полосы пропускания восходящего и нисходящего каналов (двусторонняя передача)

Пять, введение Jperf

1. Введение в Jperf
2. Операционная среда JPerf2.0

(1) Операционная система: операционная среда Java.

(2) Требования к сети: Jperf может работать в любой IP-сети, включая локальную сеть Ethernet, доступ в Интернет и сеть Wi-Fi.

(3) Другие требования: JPerf должен установить два компонента: сервер JPerf и клиент JPerf.

3. Введение в страницу JPerf2.0

f21920570d4e24d66e1ef5f1c8bc4fba

(1) Командная строка Iperf (нельзя вводить напрямую)

7ae7fc7631b0082ba7f06e371db3549a

7a90043aa52a66038ff5e3c3383336a6

❶ Порт прослушивания: 5001

❷ ограничение клиента: ограничение клиента, разрешить только указанные клиентские соединения

❸ Num Connections: максимально допустимое количество подключений, нет ограничений до 0

a6d12b9b35a7a54d7338c133956257f9

Адрес сервера: 10.0.115.82, порт: 5001, параллельный поток: 1

(2) Настройки уровня приложения

a41acefaf421b6573dad1debc2d58c3a

① Совместимость со старой версией (используется, когда версии сервера и клиента разные)

11643dace2e7150b36f6c179ecd72f2f

② Установите тестовый режим: общий размер передаваемых байтов составляет 15 байтов или общее время передачи составляет 15 секунд.

b7f59683f1539f1a300aeb246be0053c

③ Проведите тест двусторонней передачи одновременно

b092a63896b53e8aa03d87f2327b66b8

④ Выполните тест двусторонней передачи отдельно, сначала измерьте полосу пропускания от c до s

31e608111969869b5447e264a288b4f9

⑤ Укажите файл для передачи

7c1e9c0994fe3c4241ef1a3df461162f

⑥ Отображение максимального значения MTU для tcp

a15e8133b860e174f41d86fbb2e4812c

(3) Настройки транспортного уровня

❶ Установить размер буфера

2100cdce9bb7a282d2c1dd44833d4a7e

❷ Укажите размер окна TCP

da97ff1297cce9d81bfeef1a96e585b9

❸ Установите максимальное значение mtu пакета данных TCP

3a0975b0e210f14ba1c9d985bf9c384c

❹ Установить TCP без задержки

1c94193c47c255285ef30f8dad44c6b0

❶ Установите максимальную пропускную способность UDP

7b10485d9ceaf9b9c5d033df90da9d32

❷ Установить буфер UDP

d2ad365c8783cd119df377d3783ee467

❸ Размер инкапсуляции пакетов UDP: по умолчанию 1470 байт

a83435f96f5a08afc782ea395454687a

③ Настройка уровня IP

4402072a75d68d7af9d2c4ac49d6e789

❶ Укажите значение ttl

6426335160535f5e0011c6b42d3f286e

❷ Тип услуги (ToS), от 0x10 (минимальная задержка) до 0x2 (минимальная стоимость)

9050d0649efc00d8885e8add9017caab

Ссылка для скачивания этой статьи

Приложение: Справочные материалы

1. «Метод проверки производительности сети»

Автор: Справочная документация Ali Cloud

2. «Энциклопедия iperf-Baidu» (статья)

Автор: Baidu Пользователи Википедии

3. «Инструменты оценки производительности сети Linux iperf, тестовая пропускная способность сети CHARIOT» (статья)

4. «Команды Linux-команда iperf»

5. «Учебное пособие по функциям и использованию iPerf для проверки производительности сети»

6. «Учебное пособие по использованию графического инструмента iPerf с графическим интерфейсом Jperf»

7. «Использование iPerf для тестирования пропускной способности сети»

Источник

Обновлено 07.11.2019

Iperf logoДобрый день! Уважаемые читатели и гости одного из крупнейших IT блогов России Pyatilistnik.org. В прошлый раз мы с вами разобрали применение очень полезной утилиты Robocopy, с помощью которой мы мигрировали данные файлового сервера. В сегодняшней статье я хочу вас познакомить с утилитой Iperf, я разберу ее установку, примеры ее использования в вашей инфраструктуре. Хочу отметить, что она должна быть частью вашего административного набора программ.

Содержание статьи:

  1. Что такое утилита Iperf
  2. Виды и версии Iperf
  3. Где скачать Iperf
  4. Как установить Iperf в Windows
  5. Как установить Iperf в CentOS
  6. Как установить Iperf в Debian или Ubuntu
  7. Примеры использования Iperf

Что такое Iperf

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

Iperf — это бесплатная сетевая утилита с открытым кодом, которая позволяет вам протестировать и определить пропускную способность сети между серверами на базе Windows и Linux. Так же Iperf-у можно дать и такое определение, это инструмент для активных измерений максимально достижимой полосы пропускания в IP-сетях. Он поддерживает настройку различных параметров, связанных с синхронизацией, буферами и протоколами (TCP, UDP, SCTP с IPv4 и IPv6). Для каждого теста он сообщает о пропускной способности, потерях и других параметрах.

Виды и версии Iperf

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

Какова история iperf3 и в чем разница между iperf2 и iperf3?

iperf2 был заброшен в конце 2000-х годов на версии 2.0.5, несмотря на некоторые известные ошибки и проблемы. Потратив некоторое время на решение проблем с iperf2, ESnet к 2010 году решила, что нужен новый, более простой инструмент, и приступила к разработке iperf3. Цель состояла в том, чтобы сделать инструмент как можно более простым, чтобы другие могли внести свой вклад в код. По этой причине было решено сделать инструмент однопоточным и не беспокоиться о обратной совместимости с iperf2.Многие запросы функций для iperf3 поступили из проекта perfSONAR ( http://www.perfsonar.net).

Сравнение версий

Затем в 2014 году Боб (Роберт) МакМахон из компании Broadcom возобновил разработку iperf2. Он исправил многие проблемы с iperf2 и добавил ряд новых функций, похожих на iperf3. iperf2.0.8, выпущенный в 2015 году, сделал iperf2 полезным инструментом. Текущее развитие iperf2 сосредоточено на использовании UDP для тестирования задержки, а также на широкой поддержке платформ.

На момент написания статьи (2019), iperf2 и iperf3 активно (хотя и независимо) разрабатываются. Я рекомендуем ознакомиться с обоими инструментами и использовать те функции, которые лучше всего соответствуют вашим потребностям.

Основные отличия Iperf2 и Iperf3

Каждый из этих инструментов имеет несколько разные функции и немного другую архитектуру, поэтому не стоит ожидать, что какой-то один инструмент будет иметь все необходимое. Лучше быть знакомым с несколькими инструментами и использовать правильный инструмент для вашего конкретного случая использования. Одно ключевое отличие заключается в том, является ли инструмент однопоточным или многопоточным. Если вы хотите протестировать производительность параллельного потока, вы должны использовать многопоточный инструмент, такой как iperf2, хотя в iperf3 так же можно сделать костыль.

Обратите внимание, что по умолчанию Iperf3 официально не поддерживается в Windows, но это не означает, что он там не будет работать, могут быть нюансы и глюки

Обратите внимание, что все три из этих инструментов находятся в активной разработке, и список уникальных функций для данного инструмента, вероятно, со временем изменится. Исходя из моего опыта, я рекомендуем следующее:

  • Используйте iperf2 для параллельных потоков, двунаправленных тестов или тестов на базе MS Windows.
  • Используйте nuttcp или iperf3 для высокоскоростного тестирования UDP

Где скачать Iperf

Загрузить утилиту можно из разных источников. Если мы говорим про Linux, Unix версии, то вы можете использовать ссылку с github:

https://github.com/esnet/iperf/releases

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

Загрузка Iperf3 Windows и с графическим интерфейсом или же с https://sourceforge.net/projects/iperf2/files/

Как установить Iperf в Windows

Чтобы установить Iperf2 или Iperf3 в операционной системе Windows, вам потребуется скачать свежую версию. На выходе у вас будет архивный файл. Далее вы распаковываете архив и получаете файл командной строки и cygwin1.dll

Установка Iperf2 и Iperf3 в Windows

Скачать отдельно cygwin1.dll можно по ссылке https://sourceforge.net/projects/cygwin1-dll/files/

Далее вы открываете командную строку, желательно от имени администратора. После чего пишите команду:

cd и путь до exe файла iperf, например

cd C:Tempiperf-2.0.14a-win

После чего вывод списка файлов командой dir

установка iperf2 в Windows

аналогично делаем и в случае с третьей версией утилиты.

Установка Iperf3 в Windows

Как установить Iperf в CentOS 7

Хочу отметить, что в CentOS 7 и CentOS 8, придется делать слегка иначе. Производить инсталляцию я буду в последней версии CentOS 7, которую поставил ранее.

Начнем с установки Iperf2, для этого выполните команду:

У вас должна выскочить ошибка

Failed to synchronize cache for repo ‘AppStream’, ignoring this repo.
Failed to synchronize cache for repo ‘BaseOS’, ignoring this repo.
Failed to synchronize cache for repo ‘extras’, ignoring this repo.
No match for argument: iperf
Error: Unable to find a match

Error: Unable to find a match при установке iperf в centos 7

Давайте посмотрим список репозиториев, делается это командой:

Как видим, список будет вот такой:

CentOS-7 — AppStream
CentOS-7 — Base
CentOS-7 — Extras

Напоминаю, что утилита Iperf является дополнительным пакетом, который не входит в основные репозитории, это прекрасно описано в Вики http://fedoraproject.org/wiki/EPEL. Дополнительные пакеты для Enterprise Linux (EPEL) — это одобренный сообществом репозиторий, который указан в вики CentOS в разделе «Доступные репозитории для Linux», в котором отмечается, что хотя репозитории сообщества не связаны с проектом CentOS, эти репозитории часто рекомендованы сообществом. Выполните команду:

Просмотр файла yum.repos.d со списком репозиториев CentOS

Как видите в файле yum.repos.d прописаны подключенные репозитории, и тут не хватает репозитория epel-release.

Давайте установим epel-release, для этого выполните:

или командой

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y

Установка epel-release в CentOS

Пробуем теперь посмотреть список репозиториев в файле yum.repos.d и видим, что epel появился.

Установка Iperf в CentOS 7

Произведем установку Iperf

Все успешно выполнено. Конечно вам никто не запрещает подключить репозиторий от седьмой версии CentOS в восьмую, но они могут конфликтовать в будущем по зависимостям. Поэтому, если у вас CentOS 8, то я рекомендую сделать вот так.

Установка Iperf в CentOS 7 minimal

Установка iperf на CentOS 8

Ранее, я так же установил CentOS 8 в тестовой среде. Хочу отметить, что если вы попытаетесь добавить репозиторий epel-release командой:

yum install epel-release или yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y

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

dnf repository-packages epel list | grep -i iperf

Поиск iperf в CentOS 8

Как я и писал выше не желательно устанавливать epel 7 и 8 версии репозитория, я лично в такой ситуации просто выхожу подобным образом. Я открываю сайт https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/ и ищу нужный мне пакет, копирую на нужный мне прямую ссылку.

Скачивание пакета iperf для CentOS 8

Далее я устанавливаю в CentOS 8 пакет wget, для этого выполняем:

Установка wget в CentOS 8

Далее скачиваем пакет, ссылку на который мы заранее выяснили.

wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/i/iperf-2.0.13-1.el7.x86_64.rpm

Как установить Iperf в CentOS 8

Далее производим установку iperf2 в системе, через выполнение команды:

rpm -ivh iperf-2.0.13-1.el7.x86_64.rpm

Инсталляция пакета iperf3

Так же для CentOS 8 рекомендуется включить репозиторий PowerTools, поскольку пакеты EPEL могут зависеть от пакетов из него

dnf config-manager —set-enabled PowerTools

Справка iperf

Установка iperf3 в CentOS 7 и 8

В CentOS 8 с установкой Iperf3 еще проще, так как это пакет является уже частью стандартных репозиториев, чтобы его поставить просто введите:

Установка iperf3 в CentOS 8

Если мы имеем дело с CentOS 7 и ниже, то нужно добавлять репозиторий epel-release

Открытие портов Iperf на CentOS

После того. как вы произвели инсталляцию пакета, вам необходимо открыть порты, которые будет слушать ваша служба при подключении к ней. Напоминаю, что порты по умолчанию у iperf и iperf3, это 5201. Для решения этой задачи мы выполним две команды:

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

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

firewall-cmd —reload

Открытие портов iperf на фаэрволе CentOS 8

Проверим слушает ли сервер входящие подключения по порту 5210, для этого выполните:

Продолжение следует.

32 / 27 / 8

Регистрация: 28.02.2011

Сообщений: 1,693

1

26.10.2020, 10:08. Показов 843. Ответов 3


установил на дебиане iperf, запустил как сервер(а потом и как клиент), пробую с win 10 измерить скорость, молчит, никаких ответов, пинговаться пингуются и с той и с другой стороны, правда находятся в разных подсетях, с чего бы начать, чтоб выяснить причину?

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

26.10.2020, 10:08

Ответы с готовыми решениями:

Автоматизация IPerf
Здравствуйте, уважаемые!

Я знаком в программированием на уровне слышал звон. Слышал, что…

Почему при нажатии кнопки Access не отвечает?
всем привет, такая проблема не в первый раз мне встречается, и хотелось бы узнать причину, а…

Почему Vlan интерефейс на свиче не отвечает на ICMP
Доброго дня! Делаю лабу в пакеттрейсере по WAN (1.4.1), делаю все по мануалу для инструктора. После…

Почему мои программы во время выполнения, якобы, переходят в режим ‘не отвечает’?
Доброго времени суток.
Объясните, пожалуйста, почему мои программы, которые выполняются…

3

Эксперт по компьютерным сетям

10927 / 6783 / 1814

Регистрация: 25.12.2012

Сообщений: 28,705

26.10.2020, 11:44

2

запустите на Debian сервер:

на нем же клиент

так будет работать?

если да — ищите причину в файрволлах: транзитных и конечных (на debian, цепь input) (по умолчанию порт 5201)



1



tmpnik1

32 / 27 / 8

Регистрация: 28.02.2011

Сообщений: 1,693

27.10.2020, 05:40

 [ТС]

3

спасибо, но взял с инета команду

Bash
1
aptitude install iperf

, всё нормально установилось, но на винде iperf3, тогда я попытался установить iperf3, но заканчивается ошибкой
E: Не удалось получить http://ftp.ru.debian.org/debia… _i386.deb: 404 Not Found



0



Kubuntovod

Эксперт NIX

2657 / 776 / 173

Регистрация: 14.01.2013

Сообщений: 3,578

27.10.2020, 20:04

4

Цитата
Сообщение от tmpnik1
Посмотреть сообщение

пробую с win 10 измерить скорость, молчит

Значит, рано скорость мерить. Сначала, надо порт пощупать:

Bash
1
nmap -Pn -p 5201 123.123.123.123

Где 123.123.123.123 это ip компа, на котором запущен сервер пёрфа. А когда добьётесь картины «порт — open», тогда уже можно и скорость померить.

На 10-й Debian x64 ставил с месяца два назад. Всё ставится без лишних камланий, из стандартных реп. В моём случае замер был снаружи, поэтому на роутере был прокинут порт.



1



Iperf инструкция.

Нужно замерить ширину канала интернета или локальной сети? Тогда вам поможет программа iperf. Преимущество iperf в том, что ее не надо устанавливать и бесплатна.
Вы можете встретить две версии iperf.exe и iperf3.exe, которые не совместимы друг с другом. В обеих версиях поддерживается многопоточная работа (в версии 2 посредством запуска на разных портах, в версии 3 — параметром у клиента).

Как запустить iperf?

Программа должна быть запущена на двух компьютерах.
Первый компьютер — должен играть роль сервера (192.168.0.100), второй — роль клиента (192.168.0.200).

На «сервере» с запускаем программу и вводим команду, которая запускает ее в режиме сервера
1. Копируем файл iperf3.exe на диск C.
2. Запускаем iperf server.

cd/
iperf -s

 iperf3.exe -s

На клиенте аналогично запускаем iperf client, но с указанием адреса сервера 192.168.0.100:

cd/
iperf -c 192.168.0.100

Измерение скорости iperf. Программа в течении 10 секунд проведет тест ширины канала и покажет результат.

C:Usersadminwin.ru>c:iperf3 -c 192.168.0.100
Connecting to host 192.168.0.100, port 5201
[ 4] local 192.168.0.200 port 53323 connected to 192.168.0.100 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.01 sec 256 KBytes 2.07 Mbits/sec
[ 4] 1.01-2.02 sec 128 KBytes 1.05 Mbits/sec
[ 4] 2.02-3.01 sec 256 KBytes 2.11 Mbits/sec
[ 4] 3.01-4.01 sec 256 KBytes 2.08 Mbits/sec
[ 4] 4.01-5.00 sec 512 KBytes 4.26 Mbits/sec
[ 4] 5.00-6.01 sec 640 KBytes 5.19 Mbits/sec
[ 4] 6.01-7.00 sec 640 KBytes 5.28 Mbits/sec
[ 4] 7.00-8.01 sec 896 KBytes 7.33 Mbits/sec
[ 4] 8.01-9.00 sec 1.12 MBytes 9.47 Mbits/sec
[ 4] 9.00-10.02 sec 1.50 MBytes 12.4 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.02 sec 6.12 MBytes 5.13 Mbits/sec sender
[ 4] 0.00-10.02 sec 6.03 MBytes 5.05 Mbits/sec receiver

iperf Done.

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

Опции для сервера:
-s — запустить как сервер и отображать всю информацию на экран;
-D — запустить как сервис (в фоновом режиме) и не отображать информацию.

Опции клиента:
-b — используемая полоса для UDP (по умолчанию 1Mbit/sec);
-c — запустить как клиент и соединиться с сервером;
-d — тестировать линию в обе стороны;
-n — установить размер передаваемого трафика (нельзя использовать с ключом -t);
-r — производить двунаправленное тестирование по отдельности;
-t — указать время тестирования (по умолчанию 10 сек);
-F — не генерировать трафик, а передавать готовый файл;
-I — ввод данных, передаваемых из STDIN (стандартный поток ввода);
-L — порт, на котором клиент будет принимать двунаправленный трафик;
-P — запуск нескольких потоков параллельно;
-T — время жизни пакета для групповой рассылки (по умолчанию 1);

Общие опции:
-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 — вывод справки.
Для примера, следующие команды покажут тесты:

Замер скорости при окне TCP 2 мбита:

iperf3 -c 192.168.0.100 -w 2M

Замер скорости при запуске 10 потоков одновременно:

iperf3 -c 192.168.0.100 -P 10

Понравилась статья? Поделить с друзьями:
  • Ipega pg 9076 драйвер windows 10
  • Ipconfig не является внутренней или внешней командой windows 7
  • Ipconfig не работает на windows 10
  • Ipconfig настройка протокола ip для windows пусто
  • Ipconfig renew настройка протокола ip для windows