Тестирование скорости с помощью iperf3

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

Скачать эту утилиту можно с нашего сервера или с сайта проекта. Нам потребуется iperf 3-й версии (iperf 3.0). Для удобства файлы из архива можно скопировать в папку Windows на системном диске, это позволит упростить вызов программы.

Все следующие команды выполняются в командной строке Windows (cmd). Вызвать командную строку можно следующими способами: Пуск -> Все программы -> Стандартные -> Командная строка или Пуск -> Выполнить и ввести имя программы cmd

Для запуска сервера нужно запустить программу iperf3 с параметром -s : iperf3 -s
Для запуска клиента и начала тестирования нужно запустить iperf3 с параметром -c <server>
Параметр <server> может быть IP-адресом или именем компьютера, на котором запущен сервер iperf3

Вы можете запустить сервер на одном компьютере, а клиент на втором, указав в параметрах сервера ip-адрес первого компьютера, и протестировать пропускную способность Вашей локальной сети.

Наш сервер уже запущен и доступен по адресу iperf.donapex.net

Для запуска простого теста, достаточно ввести в командной строке следующую команду: iperf3 -c iperf.donapex.net
Эта команда запустит тестирование исходящей скорости.

iperf3-01-ul

 

Для тестирования входящей скорости необходимо в команду добавить ключ -R (reverse mode): iperf3 -c iperf.donapex.net -R

iperf3-02-dl

 

Расширенные параметры тестирования.

Что-бы указать длительность тестирования используется ключ -t <сек>: iperf3 -c iperf.donapex.net -R -t 60
В данном примере устанавливается длительность тестирования – 1 минута.

iperf3-03-dl-60sec

 

По умолчанию скорость тестирования не ограничивается. Для ограничения максимальной скорости теста используется ключ -b <бит/сек>. Можно использовать модификаторы: K – Килобит, M – Мегабит, G – Гигабит, например -b 20M – соответствует ограничению 20 Мегабит/сек.

Тест входящей скорости с ограничением 20 Мегабит/сек: iperf3 -c iperf.donapex.net -R -t 60 -b 20M
В диспетчере задач можно видеть степень загрузки сети, для сети 100 Мегабит загрузка будет около 20%.

iperf3-04-dl-60sec-20m

 

Тест входящей скорости с ограничением 50 Мегабит/сек: iperf3 -c iperf.donapex.net -R -t 60 -b 50M
В диспетчере задач можно видеть степень загрузки сети, для сети 100 Мегабит загрузка будет около 50%.

iperf3-05-dl-60sec-50m

 

Иногда, по ряду причин, невозможно добиться полной скорости в один поток. Поэтому в iperf предусмотрен многопоточный режим работы. Чтоб указать количество потоков используется параметр -P <n>
Можно указывать один и более потоков, например запуск тестирования в 2 потока будет выглядеть так: iperf3 -c iperf.donapex.net -R -t 60 -P 2

 

Тестирование UDP трафиком.

По умолчанию программа iperf3 использует TCP протокол. Протокол UDP, в отличии от TCP, не использует алгоритмы контроля доставки пакетов и контроля скорости передачи, и имеет немного другое поведение в сети, чем TCP траффик.
Т.к. UDP не контролирует скорость передачи – это должна делать программа, передающая трафик. Поэтому в UDP тесте по умолчанию устанавливается ограничение максимальной скорости 1 Мегабит/сек. Изменить это ограничение можно при помощи ключа -b

Не следует указывать слишком большую максимальную скорость, это может привести к перегрузке сети. В данном типе теста лучше держать этот параметр в пределах до 100 Мегабит.

Указать iperf3, что следует использовать UDP протокол можно при помощи параметра -u

Тест исходящей скорости с ограничением 30 Мегабит/сек: iperf3 -c iperf.donapex.net -t 60 -b 30M -u
В диспетчере задач можно видеть степень загрузки сети, для сети 100 Мегабит загрузка будет около 30%.

iperf3-06-ul-60sec-30m-udp

 

Тест входящей скорости с ограничением 20 Мегабит/сек: iperf3 -c iperf.donapex.net -R -t 60 -b 15M -u
В диспетчере задач можно видеть степень загрузки сети, для сети 100 Мегабит загрузка будет около 20%.

iperf3-07-dl-60sec-15m-udp

 

Сервер может принимать соединения одновременно только от одного клиента. Если сервер занят другим клиентом, при попытке тестирования будет выдана ошибка. В таком случае следует подождать освобождения сервера.

iperf3-08-err

 

Для более полного тестирования желательно провести несколько тестов: с ограничением скорости меньшей тарифной, с ограничением скорости равной тарифной, без ограничения скорости.

Sidebar