Iperf3 - это генератор сетевого трафика, предназначенный для проверки скорости и пропускной способности сети.
Утилиту можно использовать для проверки пропускной способности VPS серверов или для настройки и улучшения производительности сети.
Программа состоит из клиентской и серверной части, поэтому для работы с ней потребуется два ПК.
Контактная информация:
Официальный сайт
Разработчик:
Jon Dugan
Seth Elliott
Bruce A. Mah
Jeff Poskanzer
Kaustubh Prabhu
Лицензия:
BSD
Синтаксис запуска сервера:
iperf3 -s опции
Синтаксис запуска клиента, с передачей адреса сервера:
iperf3 -c адрес_сервера опции
В ходе выполнения команд выполняется 10 секундная передача данных, на основе которых выдается скорость сети.
Общие опции программы:
| Опция | Описание |
|---|---|
| -p, --port # | Порт сервера для прослушивания/подключения |
| -f, --format [kmgtKMGT] | Формат для отчета: Kбит, Mбит, Gбит, Tбит |
| -i, --interval # | Интервал в секундах между периодическими отчетами о пропускной способности |
| -I, --pidfile file | Записать PID-файл |
| -F, --file name | Передача/получение указанного файла |
| -A, --affinity n/n,m | Установить привязку к процессору |
| -B, --bind <host>[%<dev>] | Привязать к интерфейсу, связанному с адресом <host> (необязательно <dev>, Эквивалентно --bind-dev <dev>) |
| --bind-dev <dev> | Привязать к сетевому интерфейсу с помощью SO_BINDTODEVICE |
| -V, --verbose | Более подробный вывод |
| -J, --json | Вывод в формате JSON |
| --logfile f | Отправить вывод в файл журнала |
| --forceflush | Принудительная очистка вывода на каждом интервале |
| --timestamps<=format> | Добавить временные метки в начале каждой строки вывода (необязательно "=" и формат строки, как в strftime(3)) |
| --rcv-timeout # | Тайм-аут простоя для получения данных |
(по умолчанию 120000 мс)
-d, --debug |Вывод отладочной информации
-v, --version| Показать информацию о версии и выйти
-h, --help| Показать это сообщение и выйти
Опции серверной части:
| Опция | Описание |
|---|---|
| -s, --server | Запустить в режиме сервера |
| -D, --daemon | Запустить сервер как демон |
| -1, --one-off | Обработать одно подключение клиента, затем завершить работу |
| --server-bitrate-limit #[KMG][/#] | Ограничение общей пропускной способности сервера (по умолчанию 0 = без ограничений)(необязательный слэш и интервал в секундах для усреднения общей скорости передачи данных. По умолчанию 5 секунд) |
| --idle-timeout # | Перезапустить сервер после # секунд простоя в случае блокировки (по умолчанию - без тайм-аута) |
| --rsa-private-key-path | Путь к закрытому RSA-ключу, используемому для расшифровки учетных данных аутентификации |
| --authorized-users-path | Путь к файлу конфигурации, содержащему учетные данные пользователей |
| --time-skew-threshold | Порог временного отклонения (в секундах) между сервером и клиентом во время процесса аутентификации |
Опции клиентской части:
| Опция | Описание |
|---|---|
| -c, --client <host>[%<dev>] | Работать в клиентском режиме, подключаясь к <host> (необязательно <dev>, эквивалентно --bind-dev <dev>) |
| -u, --udp | Использовать протокол UDP вместо TCP |
| --connect-timeout # | Время ожидания для установки управляющего соединения (мс) |
| -b, --bitrate #[KMG][/#] | Целевая скорость передачи в битах/сек (0 - без ограничений)(по умолчанию 1 Мбит/сек для UDP, без ограничений для TCP)(необязательно косая черта и количество пакетов для режима взрыва) |
| --pacing-timer #[KMG] | Установить интервал между пакетами в микросекундах (по умолчанию 1000) |
| --fq-rate #[KMG] | Включить планирование справедливой очереди на основе пропускной способности сокета в битах/сек (только для Linux) |
| -t, --time # | Время в секундах для передачи (по умолчанию 10 сек) |
| -n, --bytes #[KMG] | Количество передаваемых байт (вместо -t) |
| -k, --blockcount #[KMG] | Количество блоков (пакетов) для передачи (вместо -t или -n) |
| -l, --length #[KMG] | Размер буфера для чтения или записи (по умолчанию 128 КБ для TCP, динамический или 1460 для UDP) |
| --cport <port> | Привязать к указанному порту клиента (TCP и UDP, по умолчанию: эфемерный порт) |
| -P, --parallel # | Количество параллельных потоков клиента для запуска |
| -R, --reverse | Работать в обратном режиме (сервер отправляет, клиент получает) |
| --bidir | Работать в двунаправленном режиме. Клиент и сервер отправляют и получают данные. |
| -w, --window #[KMG] | Установить размер буфера сокета для отправки/получения данных (косвенно устанавливает размер TCP-окна) |
| -C, --congestion <algo> | Установить алгоритм управления конгестией TCP (только для Linux и FreeBSD) |
| -M, --set-mss # | Установить максимальный размер сегмента TCP/SCTP (MTU - 40 байт) |
| -N, --no-delay | Отключить задержку TCP/SCTP, отключив алгоритм Нагла |
| -4, --version4 | Использовать только IPv4 |
| -6, --version6 | Использовать только IPv6 |
| -S, --tos N | Установить тип обслуживания IP, 0-255. Можно использовать префиксы для восьмеричной и шестнадцатеричной систем счисления, например, 52, 064 и 0x34 указывают на одно и то же значение. |
| --dscp N или --dscp val | Установить значение DSCP IP, от 0 до 63 или символически. Числовые значения можно указывать в десятичной, восьмеричной и шестнадцатеричной системах (см. --tos выше). |
| -L, --flowlabel N | Установить метку потока IPv6 (поддерживается только в Linux) |
| -Z, --zerocopy | Использовать "нулевое копирование" для отправки данных |
| -O, --omit N | Пропустить первые n секунд |
| -T, --title str | Добавить префикс ко всем строкам вывода |
Установить можно отдельным модулем или пакетом:
Для установки следует воспользоваться утилитой "Установка и удаление программ".
Модуль, необходимый для установки:
Для установки следует воспользоваться утилитой "Установка и удаление программ".
Пакет, необходимый для установки:
Внимание! Если система загружена в режиме полного сохранения, то внесенные изменения в систему будут сохранены после перезагрузки.
Если режим загрузки другой, то рекомендуется воспользоваться утилитой "Сохранение изменений" до перезагрузки системы.