Iperf — кроссплатформенная консольная клиент-серверная программа — генератор TCP и UDP трафика для тестирования пропускной способности сети.
- iPerf 3.1.3 8-jun-2016 x64 Windows Vista..Windows 10
- iPerf 3.1.3 8-jun-2016 x86 Windows XP..Windows 10
Возможности
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 (устанавливается вдвое больше указанного) |
Можно запускать с правами обычного пользователя.
Шаблоны скриптов
Запуск стандартного сервера
1 |
iperf3 -s |
Тест загрузки !!!
1 |
iperf3.exe -P 2 -t 300 -w 32768 -c 192.168.1.1 |
Тест выгрузки !!!
1 |
iperf3.exe -P 2 -t 300 -w 32768 -c 192.168.1.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 |