Команда Linux iperf
Полный справочник команд Linux
iperf — это профессиональный инструмент тестирования производительности сети, используемый для измерения пропускной способности TCP и UDP. Он может сообщать такие показатели производительности сети, как пропускная способность, джиттер задержки и потери пакетов.
Основные возможности iperf:
- Поддерживает тестирование TCP и UDP
- Настраиваемые параметры, такие как размер окна TCP, пропускная способность UDP и т. д.
- Поддерживает двунаправленное тестирование (одновременная выгрузка и загрузка)
- Кроссплатформенная поддержка (Linux, Windows, macOS и т. д.)
Установка iperf
Установка в Linux
В большинстве дистрибутивов Linux его можно установить через менеджер пакетов:
Примеры
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 обычно включают следующую информацию:
- Interval: Интервал времени
- Transfer: Объём переданных данных
- Bitrate: Пропускная способность (битрейт)
- Retr: Повторные передачи TCP (только TCP)
- Jitter: Джиттер (только UDP)
- 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 на сетевых устройствах
- Проверяйте состояние сети в разное время
Практические сценарии применения
- Приемка сетевых устройств: проверка производительности недавно развернутых сетевых устройств
- Мониторинг пропускной способности: периодическая проверка изменений пропускной способности сети
- Устранение неполадок: поиск проблем с производительностью сети
- Проверка QoS: тестирование эффективности политик QoS
- Тестирование беспроводной сети: оценка силы и стабильности сигнала WiFi
Итог
iperf — это важный инструмент тестирования пропускной способности для сетевых инженеров. Из этой статьи вы должны были освоить:
- Основные принципы работы iperf
- Как запустить сервер и клиент
- Общие параметры и примеры использования
- Как анализировать результаты тестирования
- Решения типичных проблем
Рекомендуется больше практиковаться в тестировании в реальных сетевых средах, ознакомиться с влиянием различных комбинаций параметров, чтобы при необходимости быстро и точно оценивать производительность сети.
Другие расширения