Как проверить скорость сети с помощью инструмента iPerf3 в Linux
iperf3 — бесплатная кроссплатформенная программа с открытым исходным кодом, работающая из командной строки и предназначенная для измерения пропускной способности сети в реальном времени. Это один из самых мощных инструментов для тестирования максимально достижимой пропускной способности в IP-сетях (поддерживает IPv4 и IPv6).
С помощью iperf вы можете настроить несколько параметров, связанных с синхронизацией, буферами и протоколами, такими как TCP, UDP и SCTP. Это удобно для операций по настройке производительности сети.
Чтобы добиться максимальной или, скорее, улучшенной производительности сети, вам необходимо увеличить пропускную способность, а также задержку возможностей приема и отправки вашей сети.
Однако прежде чем приступить к фактической настройке, вам необходимо выполнить несколько тестов, чтобы собрать общую статистику производительности сети, которая будет определять процесс настройки.
Его результаты включают временной интервал в секундах, переданные данные, пропускную способность (скорость передачи), потери и другие полезные параметры производительности сети. В первую очередь он предназначен для помощи в настройке TCP-соединений по определенному пути, и именно на этом мы сосредоточимся в этом руководстве.
Требования:
- Два сетевых компьютера, на обоих установлен iperf3.
Как установить 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 для Кбит, Мбит. , Гбит или K, M, G для Кбайт, Мбайт , Гбайт) для отчета, используя переключатель -f
, как показано.
iperf3 -s -f K
Если порт 5201 используется другой программой на вашем сервере, вы можете указать другой порт (например, 3000) с помощью переключателя -p
как показано.
iperf3 -s -p 3000
При желании вы можете запустить сервер как демон, используя флаг -D
, и записать сообщения сервера в файл журнала, как показано ниже.
iperf3 -s -D > iperf3log
Затем на вашем локальном компьютере, который мы будем рассматривать как клиент (где происходит фактическое тестирование), запустите iperf3 в режиме клиента, используя -c
флаг и укажите хост, на котором работает сервер (используя его IP-адрес, домен или имя хоста).
iperf3 -c 192.168.10.1 -f K
Примерно через 18–20 секунд клиент должен завершить работу и предоставить результаты, показывающие среднюю пропускную способность для теста, как показано на следующем снимке экрана.
Результаты тестов, как показано на снимке экрана выше, показывают разницу в значениях для сервера и клиента. Однако вам всегда следует рассмотреть возможность использования результатов, полученных с компьютера iperf client, в каждом проводимом вами тесте.
Как выполнить расширенное тестирование пропускной способности сети в 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
Также можно установить количество параллельных клиентских потоков (в данном примере — двух), которые выполняются одновременно, используя параметры -P
.
iperf3 -c 192.168.10.1 -f K -w 500K -P 2
Дополнительную информацию см. на странице руководства iperf3.
man iperf3
Вот и все! Не забывайте всегда выполнять тесты производительности сети, прежде чем приступать к фактической настройке производительности сети. iperf3 — мощный инструмент, который пригодится для тестирования пропускной способности сети.
Если у вас есть какие-либо мысли, которыми вы можете поделиться, или вопросы, которые можно задать, воспользуйтесь формой комментариев ниже.