Тестирование скорости с помощью 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
Эта команда запустит тестирование исходящей скорости.
Для тестирования входящей скорости необходимо в команду добавить ключ -R (reverse mode): iperf3 -c iperf.donapex.net -R
Расширенные параметры тестирования.
Что-бы указать длительность тестирования используется ключ -t <сек>: iperf3 -c iperf.donapex.net -R -t 60
В данном примере устанавливается длительность тестирования – 1 минута.
По умолчанию скорость тестирования не ограничивается. Для ограничения максимальной скорости теста используется ключ -b <бит/сек>. Можно использовать модификаторы: K – Килобит, M – Мегабит, G – Гигабит, например -b 20M – соответствует ограничению 20 Мегабит/сек.
Тест входящей скорости с ограничением 20 Мегабит/сек: iperf3 -c iperf.donapex.net -R -t 60 -b 20M
В диспетчере задач можно видеть степень загрузки сети, для сети 100 Мегабит загрузка будет около 20%.
Тест входящей скорости с ограничением 50 Мегабит/сек: iperf3 -c iperf.donapex.net -R -t 60 -b 50M
В диспетчере задач можно видеть степень загрузки сети, для сети 100 Мегабит загрузка будет около 50%.
Иногда, по ряду причин, невозможно добиться полной скорости в один поток. Поэтому в 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%.
Тест входящей скорости с ограничением 20 Мегабит/сек: iperf3 -c iperf.donapex.net -R -t 60 -b 15M -u
В диспетчере задач можно видеть степень загрузки сети, для сети 100 Мегабит загрузка будет около 20%.
Сервер может принимать соединения одновременно только от одного клиента. Если сервер занят другим клиентом, при попытке тестирования будет выдана ошибка. В таком случае следует подождать освобождения сервера.
Для более полного тестирования желательно провести несколько тестов: с ограничением скорости меньшей тарифной, с ограничением скорости равной тарифной, без ограничения скорости.