iperf3 измеряет пропускную способность между выбранными узлами. Результат относится к конкретному маршруту и моменту времени: он не является универсальной скоростью всего интернета или гарантией тарифа.

1. Подготовьте оба узла

sudo apt update
sudo apt install iperf3
iperf3 --version

Если установщик предлагает постоянный демон, для разового теста откажитесь. Выберите спокойный период, проверьте стоимость исходящего трафика и ограничения хостера. Не используйте чужой публичный iperf-сервер без разрешения его владельца.

Дальше сервером теста называется принимающий управляющее соединение узел, клиентом — запускающий измерение. Эти роли не определяют направление полезного потока при использовании обратного режима.

При выборе нового VPS такие измерения удобно провести до переноса приложений: в подборке хостингов с тестовым периодом на ПРО-ХОСТИНГ можно найти варианты для сравнения. Условия теста, возврата оплаты и допустимость замеров нагрузки проверьте у конкретного провайдера.

2. Ограничьте доступ к тестовому порту

На сервере теста разрешите TCP/5201 только с IP второго узла в действующем firewall и панели провайдера. Если UFW уже используется, пример правила ниже; не включайте UFW поверх другой политики ради инструкции.

sudo ufw allow from 198.51.100.20 to any port 5201 proto tcp comment "iperf3-temporary"

Замените пример IP адресом клиента. Запустите сервер в переднем плане с завершением после одного теста:

iperf3 -s -1

3. Начните с ограниченного измерения

На клиенте укажите реальный адрес сервера теста вместо примера:

iperf3 -c 203.0.113.10 -t 10 -b 20M

Здесь один TCP-поток ограничен целевой скоростью 20 Мбит/с и десятью секундами — примерно 25 МБ полезных данных плюс накладные расходы. Если результат близок к лимиту, это подтверждает лишь достижение 20 Мбит/с, а не предел канала.

Повышайте лимит ступенчато только в согласованном тестовом окне. Не начинайте с множества параллельных потоков: они увеличивают нагрузку и могут скрыть ограничение одного соединения.

4. Проверьте обратное направление

После первого измерения режим -1 завершит сервер. Запустите iperf3 -s -1 на нём ещё раз, затем на клиенте выполните:

iperf3 -c 203.0.113.10 -t 10 -b 20M -R

Флаг -R меняет направление передачи. Сравнивайте итог получателя, retransmits для TCP, загрузку CPU на обоих узлах и время теста. Различие направлений может зависеть от маршрутизации, ограничений трафика или состояния второго узла.

5. Завершите и сохраните условия теста

Убедитесь, что процесс сервера завершён; если ожидание клиента осталось — остановите его Ctrl+C. Удалите только временное правило, созданное для теста, и соответствующее разрешение в панели хостера:

sudo ufw delete allow from 198.51.100.20 to any port 5201 proto tcp

Запишите адреса, версии iperf3, направление, заданный bitrate и длительность. Сравнивать результаты с разными лимитами как одинаковые нельзя. Для повторяемости используйте тот же второй узел и близкое время суток.

Связанные инструкции

Официальные источники