iperf3 — это бесплатная кроссплатформенная программа с открытым исходным кодом, работающая из командной строки. Она предназначенна для измерения пропускной способности сети в реальном времени. Это очень мощный инструмент для тестирования максимальной пропускной способности в IP-сетях (поддерживает IPv4 и IPv6).
С помощью iperf вы можете настроить несколько параметров, связанных с синхронизацией, буферами и протоколами, такими как TCP, UDP и SCTP. Это полезно для действий по настройке производительности сети.
Однако прежде чем приступить к настройке, вам необходимо сделать несколько тестов, чтобы собрать общую статистику производительности сети, которая немного подскажет вам, что необходимо настроить.
А именно, можно выяснить, временной интервал в секундах, переданные данные, пропускную способность (скорость передачи), потери и другие параметры производительности сети. В первую очередь он предназначен для помощи в настройке TCP-соединений по определенному пути, и именно на этом мы сосредоточимся в этой статье.
Что нужно.
Два компьютера, объединенных в сеть, на которых установлен iperf3
Как установить iPerf3.
Прежде чем начать использовать iperf3, естественно его нужно установить на те машины, которые вы будете использовать для тестирования. Поскольку iperf3 доступен в официальных репозиториях программного обеспечения большинства распространенных дистрибутивов Linux, его установка должна быть простой. Установка осуществляется следующими командами:
$ sudo apt install iperf3 (Debian, Ubuntu, Mint) $ sudo yum install iperf3 (RHEL/CentOS/Fedora/AlmaLinux/RockyLinux) $ sudo emerge -a net-misc/iperf (Gentoo) $ sudo apk add iperf3 (Alpine Linux) $ sudo pacman -S iperf3 (Arch Linux) $ sudo zypper install iperf3 (OpenSUSE)
После установки iperf3, можно приступить к тестированию сети.
Проверяем скорость сети между двумя серверами.
Сначала зайдем на машину, которую мы будем использовать в качестве сервера и запустим на нем iperf3 в качестве сервера. Для этого используется флаг -s, по умолчанию приложение использует порт 5201.
Еще можно указать ключ -f, он позволяет задать формат отображаемых единиц (k, m, g для Килобит, Мигобит, Гигабит или K, M, G для килобайт, мегобайт, гигобайт).
$ iperf3 -s -f M
Если порт 5201 используется другой программой на вашем сервере, вы можете указать другой порт (например, 3000), используя ключ -p
$ iperf3 -s -p 3000
При желании можно запустить сервер как демон, используя флаг -D, и записать сообщения сервера в файл журнала
$ iperf3 -s -D > iperf3log
На втором компьютере, который мы будем рассматривать как клиент (где происходит фактическое тестирование), запустим iperf3 в режиме клиента, используя флаг -c, и укажите хост, на котором работает сервер (либо используя его IP-адрес, либо домен, либо имя хоста).
$ iperf3 -c 192.168.56.10 -f M
Примерно через 18–20 секунд клиент должен завершить работу и выдать результаты, указывающие среднюю пропускную способность для эталонного теста.


Судя по результатам тестов, показанных на снимке экрана выше, значения на сервере и клиенте различаются. Однако вам всегда следует учитывать результаты, полученные на клиентском компьютере iperf, в каждом проводимом вами тесте.
Проводим расширенное тестирование пропускной способности сети.
Существует несколько вариантов выполнения расширенного теста, специфичных для клиента.
Одним из важных факторов, определяющих объем данных в сети в определенный момент, является размер буфера — он важен при настройке TCP-соединений. Вы можете установить размер буфера, используя флаг -w.
$ iperf3 -c 192.168.56.10 -f K -w 16K
Чтобы запустить приложение в обратном режиме, то есть когда сервер отправляет, а клиент принимает, нужно добавить ключ -R.
$ iperf3 -c 192.168.56.10 -f K -w 16K -R
Чтобы запустить двунаправленный тест, то есть одновременно измерить пропускную способность в обоих направлениях, используйте опцию -d.
$ iperf3 -c 192.168.56.10 -f K -w 16K -d
Если вы хотите получить результаты сервера в выходных данных клиента, используйте опцию —get-server-output.
$ iperf3 -c 192.168.56.10 -f K -w 16K -R --get-server-output.

Также можно установить количество параллельных клиентских потоков (в данном примере — двух), которые выполняются одновременно, используя опцию -P.
$ iperf3 -c 192.168.56.10 -f K -w 16K -P 2
Дополнительную информацию по используемым ключам и опциям можно посмотреть в руководстве к пакету.
$ man iperf3
Заключение.
iperf3 — мощный инструмент, который пригодится для проведения тестов пропускной способности сети. Не забывайте всегда выполнять тесты производительности сети, прежде чем приступать к фактической настройке производительности сети. А на этом пока все. Следите за обновлениями, скоро будет еще много интересного.
Was this helpful?
0 / 0