Тестирование пропускной способности сети с Iperf | Windows для системных администраторов

Тестирование пропускной способности сети с Iperf

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

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

Работает утилита Iperf в режиме клиент-сервер. На первом компьютере утилита Iperf запускается в режиме сервера (ожидает трафик от клиента), а на втором, на котором Iperf запускается в режиме клиента, осуществляется генерация TCP и UDP трафика и проводится измерение скорости передачи данных.

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

iperf.exe -s -w 32768
Важно. Аргументы утилиты iperf  регистрозависимы.

Iperf в Windows в режиме сервера

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

По умолчанию утилита слушает TCP порт 5001.В зависимости от настроек файерволов между клиентом и сервером, порт можно изменить с помощью аргумента -p [номер_порта].

На стороне клиента запустим iperf со следующими опциями:

iperf.exe -c 10.0.0.44 -P 8 -t 30 -w 32768

-c 10.0.0.44 – IP адрес сервера iperf
-w 32768 — увеличиваем размер TCP окна
-t 30 – время в секундах, в течении которого выполняется тестирование (по умолчанию 10 секунд)
-P 8 — число альтернативных потоков для увеличения пропускной способности

Измеряем скорость сети между двумя точками с iperf

В нашем примере тестирование длилось 30 секунд. В итоговом отчете нас интересует значения столбца Bandwidth последней строки [SUM]. В нашем случае средняя пропускная способность сети между двумя системами – 2,85 Гбит/с. С помощью аргумента –f можно изменить формат скорости (биты, килобиты, мегабайты). При продолжительных тестах, когда нужно оценивать производительность в течении нескольких минут, с помощью опции –i можно указать интервал через который нужно отображать промежуточные результаты.

По-умолчанию утилита генерирует TCP трафик, если требуется осуществить тестирование для протокола UDP, необходимо использовать ключ  -u.

Во время выполнения теста график загрузки сети в Task Manager выглядит так:

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

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

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

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

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

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

iperf –help

Скачать версию iperf для Windows можно на softpedia.com (iperf-2.0.5-2-win32.zip) или здесь.

Скачать архив iperf для Windows

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

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

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

Еще записи по теме: Windows Server 2012
Понравилась статья? Скажи спасибо и расскажи друзьям!
Назад:
Вперед:

Комментариев: 3

Оставить комментарий
  1. PriCOOLIsT | 03.12.2014

    Утилита классная. Хорошо помогает замерять скорость между компами, и выяснять проблемы, почему у пользователя что-то там тормозит. Но, иногда возникают проблемы, как объяснить удаленному пользователю запустить «iperf.exe -s». По умолчанию эта утилита не установлена. Но её можно установить на всех компах домена как службу. Я сделал так:
    Скриптом через групповую политику скопировал её на всё компы в «%windir%\system32″ — пусть всегда под рукой будет.
    Чтоб вручную на удаленных компах её не запускать, также скриптом через powershell создал службу с автоматическим запуском:
    New-Service -Name «Iperf» -BinaryPathName «%windir%\system32\iperf.exe» -DisplayName ″Iperf″ -Description ″Iperf″
    Set-Service -Name «Iperf» -StartupType Auto
    Память отожрала ровно 1000кб.

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

    Ответить
    • itpro | 04.12.2014

      …и первый залетевший дятел разрушит всю цивилизацию :)

      А вы не думали что таким образом вашу сеть можно заDOS-ить всего одной командой . Если такие тесты требуется часто выполнять довольно часто, хотя бы отмените автозапуск службы. И запускайте ее по-необходимости.

      Ответить
  2. Never | 13.02.2015

    «как объяснить удаленному пользователю запустить «iperf.exe -s».»

    Как-то так:
    psexec.exe iperf.exe -s

    Ответить
Полные правила комментирования на сайте winitpro.ru. Вопросы, не связанные с содержимым статьи или ее обсуждением удаляются.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)



MAXCACHE: 0.25MB/0.00108 sec