Як перевірити мережеву продуктивність за допомогою iperf?

Мережеві проблеми майже завжди проявляються однаково: усе працює, але повільно. Коли треба зрозуміти, що саме гальмує — провайдер, маршрутизатор, тунель чи сервери, потрібні окремі вимірювання швидкості. Без них складно зрушити з місця.

Щоб отримати об’єктивні дані про канал між двома хостами, інженери використовують iperf. Про нього розкажемо далі.

Що таке iperf?

iperf — це утиліта з відкритим кодом, яка вимірює продуктивність IP-мережі. Вона працює у форматі «клієнт — сервер»: один хост приймає тестовий трафік, інший його генерує. iperf може працювати з TCP та UDP, показувати пропускну здатність, а в UDP-режимі — також втрати й коливання затримки.

Його часто використовують у датацентрах, корпоративних мережах, хмарних середовищах, а також при налаштуванні тунелів, VPN або під час діагностики проблем зі швидкістю.

Як з’явився iperf і чому існує дві версії?

Проєкт iperf розпочався у лабораторії National Laboratory for Applied Network Research. Пізніше інструмент розділився на дві гілки:

Важливо: ці версії несумісні між собою, мають різні ключі та інколи відмінний вивід. Обидві поширюються під BSD-ліцензією й доступні на Linux, Windows та macOS.

Сьогодні в більшості технічних статей і документацій використовують саме iperf3, оскільки він отримує регулярні оновлення та має чистішу кодову базу.

Навіщо використовують iperf?

Мережеві проблеми часто важко діагностувати, тому iperf вирішує кілька практичних завдань:

  • оцінка реальної пропускної здатності між двома серверами;
  • перевірка якості каналу перед міграцією сервісів;
  • тестування VPN, тунелів, хмарних інстансів;
  • пошук вузьких місць у складних маршрутах;
  • перевірка, чи не лімітує канал мережевий інтерфейс, маршрутизатор або провайдер.

Завдяки простим командам можна швидко отримати відповідь: проблема у мережі чи ні.

Можливості iperf

Хоч утиліта й невелика, під капотом у неї досить інструментів, щоб провести майже будь-яке базове мережеве тестування.

Iperf уміє:

  • перевіряти продуктивність як TCP, так і UDP-трафіку;
  • задавати цільову швидкість у режимі UDP (-b), щоб моделювати різні навантаження;
  • запускати паралельні потоки (-P), коли потрібно протестувати пропускну здатність під більшим навантаженням;
  • робити тест у зворотному напрямку (-R), щоб оцінити аплоад без додаткових команд;
  • змінювати інтервал оновлення статистики (-i), якщо треба бачити дані частіше чи рідше;
  • працювати через нестандартні порти (-p), коли стандартні закриті або зайняті;
  • прив’язуватися до конкретного мережевого інтерфейсу (-B), щоб точно виміряти потрібний канал.

Для більшості інженерних завдань цього більш ніж достатньо: iperf підходить і для швидкої діагностики, і для детального вимірювання пропускної здатності мережі.

Переваги та недоліки iperf

Після того як ми розібралися, що таке iperf і для чого він використовується, логічно оцінити його сильні сторони та обмеження. Це допоже зрозуміти, у яких випадках інструмент підходить найкраще, а де варто обрати інший підхід до вимірювання мережевої продуктивності.

Переваги

1. Показує реальну пропускну здатність, а не «обіцяні» цифри

iperf фактично навантажує канал і демонструє, скільки трафіку лінк може пропустити тут і зараз. Жодних умовних «до 1 Гбіт/с» — тільки практичний результат.

2. Гнучкий у налаштуванні тестів

Можна змінювати тип трафіку, кількість потоків, швидкість, інтервали виводу та інші параметри. Це дозволяє моделювати різні робочі сценарії — від легкого тесту до стресового навантаження на високошвидкісні канали.

3. Працює майже на всіх платформах

Linux, Windows, macOS, маршрутизатори, мережеві ОС — інструмент доступний у більшості середовищ, де потрібні вимірювання мережевої продуктивності.

4. Дає швидкий та зрозумілий результат

Після запуску видно ключові метрики: пропускну здатність, затримки, втрати пакетів, варіацію затримок (jitter). 

Недоліки

1. Синтетичний характер тесту

Це не поведінка конкретного сервісу — це тестове навантаження.

2. Потрібен контроль над обома хостами

Потрібно встановити утиліту і на клієнт, і на сервер.

3. Може вплинути на робочу мережу

TCP-тест легко займе весь канал. На продакшні з цим краще бути обережним.

4. Відмінності між версіями

iperf2 та iperf3 мають різні ключі та іноді різну логіку роботи.

Як працює iperf: принцип та базові приклади

Уся логіка iperf проста:

  1. один хост запускається в режимі сервера;
  2. інший підключається до нього як клієнт;
  3. утиліта передає дані певний час і фіксує статистику.

Це не покрокова інструкція, а радше демонстрація того, як виглядає використання інструмента на практиці.

Запуск сервера (iperf3)

iperf3 -s

Сервер буде слухати порт 5201 і очікувати клієнтських підключень.

Запуск TCP-тесту

iperf3 -c 192.168.1.10

Результат — таблиця з інтервалами часу, обсягом переданих даних та пропускною здатністю. TCP намагається використати канал повністю.

Паралельні TCP-потоки

iperf3 -c 192.168.1.10 -P 4

Підходить для високошвидкісних лінків (10G і більше), де один потік може не завантажити канал.

UDP-тест зі швидкістю 100 Мбіт/с

iperf3 -c 192.168.1.10 -u -b 100M

У цьому режимі видно втрати, jitter та фактичну доставлену швидкість.

Тест у зворотному напрямку

iperf3 -c 192.168.1.10 -R

Клієнт ініціює тест, але трафік іде від сервера до клієнта.

Особливості iperf, на які варто звернути увагу

  • UDP обмежений до 1 Мбіт/с, тому для реального тестування слід задавати швидкість вручну.
  • iperf2 використовує порт 5001, iperf3 — 5201.
  • Паралельні потоки не підсумовуються в один графік — кожен потік має свій рядок у статистиці, а підсумкова швидкість буде в кінці.
  • На Windows результати можуть бути нижчими через особливості TCP-стека та інколи через обмеження апаратних драйверів.

Підсумок

iperf — це інструмент, який дає чесний погляд на продуктивність мережі. Він не замінює моніторинг, не діагностує сервіси й не розв’язує проблеми автоматично. Але iperf дає те, чого часто не вистачає в інфраструктурі — зрозуміле числове підтвердження того, як поводиться мережа.

Якщо працюєш із серверами, хмарами або DevOps-процесами, уміння інтерпретувати ці дані — обов’язкова навичка. Курси ITEDU допомагають сформувати основу і впевнено рухатися до складніших рівнів.

Залишити відповідь

Дякуємо, що поділились