Как пользоваться iperf на windows 10

Как пользоваться iperf на windows 10

Добрый день! Уважаемые читатели и гости одного из крупнейших 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 так же можно сделать костыль.

READ  Драйвера на сканер mustek 1200 на window 7

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

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

Где скачать Iperf

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

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

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

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

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

cd C:\Temp\iperf-2.0.14a-win

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

READ  Как подключить ноутбук к старому телевизору через hdmi на windows 10

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

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

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

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

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

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

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

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

Источник

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

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

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

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

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

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

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

Установка iperf3

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

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

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

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

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

READ  Драйвер для телевизора philips для windows

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

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

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

Как видно из примера, при запуске клиентской части необходимо указать адрес сервера 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:\utils\iperflog.txt

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

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

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

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

Источник