Утилита Iperf для тестирования сети

Iperf — кроссплатформенная консольная клиент-серверная программа — генератор TCP и UDP трафика для тестирования пропускной способности сети.


Возможности

Iperf позволяет измерить производительность сети (TCP и UDP) и поэкспериментировать с настройками приложения и хоста. Имеется версия под Windows (устанавливается как сервис: -s -D). Так же как и при использовании netperf предварительно на удалённом конце запускается iperf в режиме сервера. В момент измерения с нашей стороны запускается iperf в режиме клиента. Если сервер запускается в интерактивном режиме, то он также выдаёт результаты измерения. При запуске теста между клиентом и сервером устанавливается управляющее соединение (по умолчанию — 5001/tcp), тестовые данные пересылаются по (первый попавшийся «пользовательский» порт). Имеется также графическая «морда» Jperf и библиотека для написания своих тестов. Позволяет определить:

  • пропускную способность сети в режиме TCP
  • величину окна TCP по умолчанию и оптимальное значение
  • пропускную способность сети в режиме UDP при заданной производительности
  • потери UDP пакетов
  • отклонения в задержках UDP пакетов (синхронизация времени не требуется)
  • наличие обработки ToS
  • обработка групповых рассылок (клиент посылает пакеты по групповому адресу, несколько серверов могут получать пакеты по этому адресу; только UDP)
  • Ключи (при указании размеров можно использовать суффиксы K и M)

Ключи

____ Значение
-B IP-адрес (задаётся на стороне сервера, привязаться к указанному адресу, обычно используется для тестирования групповых рассылок)
-b ширина-канала (для UDP тестирования, задаётся на клиентской стороне; по умолчанию — 1Mbps)
-c адрес-сервера (режим клиента)
-D (сервер в фоновом режиме, стандартный вывод можно переназначить в файл)
-d (тест в обе стороны одновременно; см. -L)
-F имя-файла (использовать указанный файл для передачи)
-f формат-вывода (b — bps, B — Byte/sec и т.д.)
-I (использовать стандартный ввод для передачи)
-i секунд (интервал между промежуточными результатами, в т.ч. на стороне сервера)
-L номер-порта (входной порт для двухсторонних тестов -d и -r)
-l байт (размер пакетов; по умоляанию используется 8K для TCP и 1470 для UDP)
-M размер-MSS
-m (вывести значение MSS и MTU)
-N (TCP_NODELAY)
-n число-пакетов
-P число-потоков
-p номер-порта (сервер слушает этот порт, клиент подсоединяется к указанному порту)
-r (сначала в одну сторону, затем обратно; см. -L)
-S биты-ToS (2 — минимальная цена, 4 — максимальная надёжность, 8 — максимальная пропускная способность, 16 — минимальная задержка)
-s (режим интерактивного сервера)
-T TTL
-t секунд (время тестирования)
-u (тестирование UDP, необходимо указывать на обеих сторонах, ожидает подтверждения?)
-V (IPv6)
-W (подбор оптимального размера окна TCP, в моей версии отсутствует)
-w размер-окна-TCP (устанавливается вдвое больше указанного)

Можно запускать с правами обычного пользователя.

Шаблоны скриптов

Запуск стандартного сервера

iperf3 -s

Тест загрузки !!!

iperf3.exe -P 2 -t 300 -w 32768 -c 192.168.1.1

Тест выгрузки !!!

iperf3.exe -P 2 -t 300 -w 32768 -c 192.168.1.1

Двунаправленный тест !!!

iperf3.exe -d -P 2 -t 300 -w 32768 -c 192.168.1.1

.

Настройка службы Win32

_____ Значение
-o outputfilename
-s -D will install the iPerf service and run it. Messages will be reported into «%windir%\system32\iperflog.txt»
-s -R will uninstall the iPerf service if it is installed

Источники

Добавить комментарий

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