Iperf

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Iperf
Iperf4662.png
Тип

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

Разработчик

Jeff Boote, Jon Dugan

Написана на

C, C++[1]

Операционная система

Кроссплатформенная

Последняя версия

2.0.5[2] (9 июля 2010)

Лицензия

BSD подобная

Сайт

iperf.sourceforge.net

iperf3
Iperf4662.png
Тип

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

Разработчик

ESnet / Lawrence Berkeley National Laboratory

Написана на

C

Операционная система

Кроссплатформенная

Последняя версия

3.1.1 (19 ноября 2015)

Состояние

актуальный

Лицензия

three-clause BSD

Сайт

software.es.net/iperf

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

Iperf3 — кроссплатформенная консольная клиент-серверная программа — генератор TCP, UDP и SCTP трафика для тестирования пропускной способности сети. Написана с нуля и не совместима с предыдущей реализацией, хотя и содержит часть кода предыдущей реализации.

Возможности[править | править вики-текст]

Утилита позволяет генерировать трафик различного типа для анализа пропускной способности сети. Поддерживается многопоточная работа (в версии 2 посредством запуска на разных портах, в версии 3 - параметром у клиента). По умолчанию тест выполняется в направлении от клиента к серверу. Чтобы проводить двунаправленное тестирование со стороны клиента, необходимо использовать ключ -r (или -d для одновременной передачи пакетов в обоих направлениях) в версии 2 и ключ -R в версии 3.

Базовые параметры[править | править вики-текст]

Для тестирования производительности сети в течение 10 секунд: На сервере выполняется команда:

iperf -s

На клиенте:

iperf -c server_host

Применение[править | править вики-текст]

Порт по-умолчанию для iperf v1/v2 5001, для iperf3 - 5201

iperf[править | править вики-текст]

Запуск сервера в UDP-режиме с выводом результатов раз в секунду, на порту 65005

iperf -u -s -i1 -p 65005

Тестирование UDP c длиной 100 байт со скоростью 20 Кбит/с в течение 180 секунд (имитация VoIP трафика, запускать нужно в обе стороны).

iperf -u -c server_host -l100 -b20k -t180

Передать 10 мегабайт данных на порт 65005

iperf -n 10m -p 65005 -c server_host

Вывод:

[ ID] Interval       Transfer     Bandwidth       
[  3] 0.0- 12.0 sec   10.0 MBytes   6.97 Mbits/sec 

iperf3[править | править вики-текст]

Запуск сервера на порту по умолчанию

iperf3 -s

В отличие от оригинального iperf, сервер слушает только tcp-порт, выбор протокола осуществляется клиентом. Получить 2 мегабайта данных с сервера по UDP с установленным лимитом 100 мегабит/сек.

iperf3 -n 2M -c server_host -u -R -b 100M

Вывод на стороне клиента:

Connecting to host server_host, port 5201
Reverse mode, remote host server_host is sending
[  4] local x.x.x.10 port 57976 connected to y.y.y.5 port 5201
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  4]   0.00-1.00   sec  1.30 MBytes  10.9 Mbits/sec  1.042 ms  1248/1414 (88%)
[  4]   1.00-1.58   sec   720 KBytes  10.2 Mbits/sec  1.219 ms  820/910 (90%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  4]   0.00-1.58   sec  21.6 MBytes   115 Mbits/sec  1.119 ms  2342/2636 (89%)
[  4] Sent 2636 datagrams

То есть, чтобы клиент получил 2 мегабайта, серверу пришлось отправить 21.6 мегабайта данных, потери составили 89%. При этом, сервер не очень точно выдержал лимит скорости передачи, который составил 115 мегабит/сек.

Примечания[править | править вики-текст]

Ссылки[править | править вики-текст]