iPerf3 – тестирование скорости/пропускной способности сети в Linux

iperf3 – это бесплатная программная платформа с открытым исходным кодом, работающая из командной строки и предназначенная для выполнения измерений пропускной способности сети в реальном времени. Она является одним из самых мощных инструментов для тестирования максимально достижимой пропускной способности в сетях IP (поддерживает IPv4 и IPv6).

С помощью iperf вы можете настраивать несколько параметров, связанных с временем, буферами и протоколами, такими как TCP, UDP и SCTP. Это пригодится для операций по настройке производительности сети.

Для достижения максимальной или улучшенной производительности сети вам необходимо увеличить пропускную способность, а также задержку приема и передачи вашей сети.

Однако прежде чем приступить к настройке, вам необходимо выполнить некоторые тесты для сбора общих статистических данных о производительности сети, которые будут направлять ваш процесс настройки.

Его результаты включают временной интервал в секундах, переданные данные, пропускную способность (скорость передачи), потери и другие полезные параметры производительности сети. Он в первую очередь предназначен для помощи в настройке TCP-соединений по определенному пути, и на этом мы сосредоточимся в данном руководстве.

Требования:

  • Два компьютера в сети, на которых установлен iperf3.Как установить iPerf3 в системах Linux

Как установить iPerf3 в системах Linux

Прежде чем начать использовать iperf3, вам нужно установить его на двух машинах, которые вы будете использовать для тестирования производительности. Поскольку iperf3 доступен в официальных репозиториях большинства распространенных дистрибутивов Linux, установка его должна быть простой, с использованием менеджера пакетов, как показано.

$ sudo apt install iperf3         [On Debian, Ubuntu and Mint]
$ sudo yum install iperf3         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a net-misc/iperf   [On Gentoo Linux]
$ sudo apk add iperf3             [On Alpine Linux]
$ sudo pacman -S iperf3           [On Arch Linux]
$ sudo zypper install iperf3      [On OpenSUSE]    

После того, как вы установили iperf3 на обеих машинах, вы можете начать тестирование пропускной способности сети.

Как протестировать скорость сети между двумя серверами Linux

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

Вы можете указать формат (k, m, g для Kbits, Mbits, Gbits или K, M, G для KBytes, Mbytes, Gbytes) для отчета, используя переключатель -f как показано.

$ iperf3 -s -f K 

Если порт 5201 используется другим программным обеспечением на вашем сервере, вы можете указать другой порт (например, 3000) с использованием переключателя -p как показано.

$ iperf3 -s -p 3000

Опционально, вы можете запустить сервер в качестве демона, используя флаг -D и записать сообщения сервера в лог-файл, следующим образом.

$ iperf3 -s -D > iperf3log 

Затем на вашем локальном компьютере, который мы будем считать клиентом (где фактически выполняется тестирование производительности), запустите iperf3 в режиме клиента, используя флаг -c и указав хост, на котором работает сервер (либо используя его IP-адрес, либо доменное имя, либо hostname).

$ iperf3 -c 192.168.10.1 -f K

Через примерно 18 до 20 секунд клиент должен завершить работу и выдать результаты, указывающие среднюю пропускную способность для теста, как показано на следующем скриншоте.

Test Network Throughput Between Servers
From the benchmark results, as shown in the above screenshot, there is a variation in values from the server and client. But, you should always consider using the results obtained from the iperf client machine in every test you carry out.

Как выполнить расширенное сетевое тестирование пропускной способности в Linux

Существует ряд опций, специфичных для клиента, для выполнения расширенного теста, как объяснено ниже.

Один из важных факторов, определяющих количество данных в сети в данный момент, – это размер TCP-окна – это важно для настройки TCP-соединений. Вы можете установить размер окна/размер буфера сокета, используя флаг -w, как показано ниже.

$ iperf3 -c 192.168.10.1 -f K -w 500K	

Чтобы запустить его в режиме обратной связи, где сервер отправляет данные, а клиент принимает, добавьте ключ -R.

$ iperf3 -c 192.168.10.1 -f K -w 500K -R	

Чтобы запустить двунаправленное тестирование, что означает измерение пропускной способности в обоих направлениях одновременно, используйте опцию -d.

$ iperf3 -c 192.168.10.1 -f K -w 500K -d

Если вы хотите получить результаты сервера в выводе клиента, используйте опцию --get-server-output.

$ iperf3 -c 192.168.10.1 -f K -w 500K -R --get-server-output
Get Server Network Results in the Client

Также возможно установить количество параллельных потоков клиента (два в этом примере), которые работают одновременно, с помощью опций -P.

$ iperf3 -c 192.168.10.1 -f K -w 500K -P 2

Для получения дополнительной информации см. страницу руководства по использованию iperf3.

$ man iperf3

Вот все! Помните всегда выполнять тесты производительности сети перед настройкой фактической производительности сети. iperf3 – это мощный инструмент, который пригодится для выполнения тестов пропускной способности сети.

Есть ли у вас мысли для обмена или вопросы для задания, используйте форму комментариев ниже.

Source:
https://www.tecmint.com/test-network-throughput-in-linux/