← К вики

iperf3: тест пропускной способности

Как измерить реальную скорость соединения между двумя точками с помощью iperf3.

Время: 10 мин · Сложность: ★★☆☆☆

Подходит: ✓ Ubuntu 22.04 · ✓ Debian 12 · ✓ AlmaLinux 9


Краткое описание

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

Когда пригодится

  • Проверить, соответствует ли скорость канала заявленным характеристикам тарифа
  • Диагностировать узкое место: клиент, сервер или канал между ними
  • Сравнить скорость TCP и UDP
  • Подготовить данные для обращения в поддержку по вопросам скорости

Что понадобится

  • Два хоста с установленным iperf3 (или публичный сервер iperf3)
  • Открытый порт 5201 на сервере

Пошаговая инструкция

Установка на Ubuntu/Debian:

apt install -y iperf3

Установка на AlmaLinux:

dnf install -y iperf3

Открыть порт 5201 на сервере (если используется ufw):

ufw allow 5201

Запустить сервер iperf3 на одном из хостов:

iperf3 -s

С другого хоста запустить тест (заменить SERVER_IP на IP сервера):

iperf3 -c SERVER_IP

Тест UDP с ограничением полосы 100 Мбит/с:

iperf3 -c SERVER_IP -u -b 100M

Обратный тест — скорость от сервера к клиенту:

iperf3 -c SERVER_IP -R

Длительный тест 30 секунд (по умолчанию 10):

iperf3 -c SERVER_IP -t 30

Если нет второго хоста — использовать публичный сервер:

iperf3 -c iperf.sth.se

Проверка результата

Пример вывода:

[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.12 GBytes   960 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  1.12 GBytes   959 Mbits/sec                  receiver
  • Bitrate — полученная скорость. Сравните с заявленной скоростью тарифа.
  • Retr — число TCP-ретрансмитов. 0 — отлично. Высокое значение означает потери пакетов и снижение скорости.

Возможные ошибки

Connection refused — на сервере не запущен iperf3 -s, или порт 5201 закрыт файрволом.

iperf3: error - unable to connect to server — проверьте IP сервера и что iperf3 -s запущен и работает.

Нет второго хоста для теста — используйте публичные серверы iperf3: iperf.sth.se (Стокгольм), iperf.he.net (HE.net).

FAQ

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

TCP или UDP? TCP-тест (iperf3 -c) лучше отражает реальный HTTP/HTTPS трафик. UDP-тест (-u) полезен для оценки потерь при стриминге и видеоконференциях.

Нужно ли останавливать iperf3 -s после теста? После теста остановите сервер (Ctrl+C) и закройте порт, если он больше не нужен: ufw delete allow 5201.

Полезные ссылки

Следующие статьи

Сейчас работают только те cookie, без которых сайт не откроется. Разрешите ещё аналитические — будем видеть, где интерфейс мешает, и чинить это.