Команда Linux iperf

Linux 命令大全Полный справочник команд Linux


iperf — это профессиональный инструмент тестирования производительности сети, используемый для измерения пропускной способности TCP и UDP. Он может сообщать такие показатели производительности сети, как пропускная способность, джиттер задержки и потери пакетов.

Основные возможности iperf:

  • Поддерживает тестирование TCP и UDP
  • Настраиваемые параметры, такие как размер окна TCP, пропускная способность UDP и т. д.
  • Поддерживает двунаправленное тестирование (одновременная выгрузка и загрузка)
  • Кроссплатформенная поддержка (Linux, Windows, macOS и т. д.)

Установка iperf

Установка в Linux

В большинстве дистрибутивов Linux его можно установить через менеджер пакетов:

Примеры

# Debian/Ubuntu
sudo apt-get install iperf3

# CentOS/RHEL
sudo yum install iperf3

# Fedora
sudo dnf install iperf3

# Arch Linux
sudo pacman -S iperf3

Установка в Windows

Вы можете получить его софициального сайта iperf илискачать предварительно скомпилированные бинарные файлы.


Базовое использование

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

Запуск iperf-сервера

iperf3 -s

По умолчанию прослушивает порт 5201; вы можете использовать-pпараметр для указания другого порта:

iperf3 -s -p 5001

Тест подключения клиента

iperf3 -c 

Например, проверить пропускную способность до 192.168.1.100:

iperf3 -c 192.168.1.100

Описание общих параметров

Общие параметры

Параметр Описание
-p Указать номер порта
-t Длительность теста (секунды), по умолчанию 10 секунд
-i Выводить результаты через каждый интервал (секунды)
-f Отображаемые единицы (Kbits, Mbits, KBytes, MBytes)
-V Показать информацию о версии и выйти
-h Показать справочную информацию

Параметры серверной части

Параметр Описание
-s Запустить в режиме сервера
-D Запуск в режиме демона

Параметры на стороне клиента

Параметр Описание
-c Запуск в режиме клиента, затем адрес сервера
-u Использовать протокол UDP вместо TCP
-b Установить целевую пропускную способность (режим UDP)
-w Установить размер окна TCP
-P Количество параллельных соединений
-R Обратный тест (сервер отправляет, клиент принимает)

Примеры практического применения

1. Базовый тест пропускной способности TCP

Сторона сервера:

iperf3 -s

Клиент:

iperf3 -c 192.168.1.100

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

[ ID] Interval           Transfer     Bitrate
[  4]   0.00-10.00  sec  1.10 GBytes   942 Mbits/sec

2. Тест пропускной способности UDP

Сторона сервера:

iperf3 -s

Клиент (тестирование 100Mbps UDP):

iperf3 -c 192.168.1.100 -u -b 100M

3. Многопоточный тест

Используйте 4 параллельных соединения:

iperf3 -c 192.168.1.100 -P 4

4. Двунаправленный одновременный тест

Сторона сервера:

iperf3 -s

Клиент:

iperf3 -c 192.168.1.100 --bidir

5. Длительный тест (60 секунд)

iperf3 -c 192.168.1.100 -t 60

Интерпретация результатов

Результаты теста iperf обычно включают следующую информацию:

  1. Interval: Интервал времени
  2. Transfer: Объём переданных данных
  3. Bitrate: Пропускная способность (битрейт)
  4. Retr: Повторные передачи TCP (только TCP)
  5. Jitter: Джиттер (только UDP)
  6. Lost/Total Datagrams: Процент потери пакетов (только UDP)

Для оценки качества сети:

  • Тестирование TCP лучше подходит для измерения максимальной доступной пропускной способности
  • Тестирование UDP позволяет измерять джиттер и потери пакетов, что важнее для приложений реального времени (например, VoIP, видеоконференций)

Продвинутое использование

1. Установка размера окна TCP

iperf3 -c 192.168.1.100 -w 256K

2. Проверка определённого порта

Примеры

# Сервер
iperf3 -s -p 5001

# Клиент
iperf3 -c 192.168.1.100 -p 5001

3. Вывод в файл

iperf3 -c 192.168.1.100 --logfile result.txt

4. Вывод в формате JSON

iperf3 -c 192.168.1.100 -J

Устранение распространённых проблем

1. Соединение отклонено

Убедитесь, что:

  • Серверная часть iperf запущена
  • Брандмауэр разрешает порт iperf (по умолчанию 5201)
  • Клиент использует правильные IP и порт

2. Результаты теста пропускной способности намного ниже ожидаемых

Возможные причины:

  • Узкие места в сети (ограничения коммутатора/маршрутизатора)
  • Проблемы с настройками сетевой карты (проверьте режим дуплекса, скорость)
  • Недостаточно системных ресурсов (высокая загрузка ЦП/памяти)

3. Высокая потеря пакетов в тесте UDP

Предложения:

  • Уменьшите целевое значение пропускной способности UDP
  • Проверьте настройки QoS на сетевых устройствах
  • Проверяйте состояние сети в разное время

Практические сценарии применения

  1. Приемка сетевых устройств: проверка производительности недавно развернутых сетевых устройств
  2. Мониторинг пропускной способности: периодическая проверка изменений пропускной способности сети
  3. Устранение неполадок: поиск проблем с производительностью сети
  4. Проверка QoS: тестирование эффективности политик QoS
  5. Тестирование беспроводной сети: оценка силы и стабильности сигнала WiFi

Итог

iperf — это важный инструмент тестирования пропускной способности для сетевых инженеров. Из этой статьи вы должны были освоить:

  • Основные принципы работы iperf
  • Как запустить сервер и клиент
  • Общие параметры и примеры использования
  • Как анализировать результаты тестирования
  • Решения типичных проблем

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


Linux 命令大全Полный справочник команд Linux

Другие расширения