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 | Привязать к указанному порту клиента (TCP и UDP, по умолчанию: эфемерный порт) |
-P, --parallel # | Количество параллельных потоков клиента для запуска |
-R, --reverse | Работать в обратном режиме (сервер отправляет, клиент получает) |
--bidir | Работать в двунаправленном режиме. Клиент и сервер отправляют и получают данные. |
-w, --window #[KMG] | Установить размер буфера сокета для отправки/получения данных (косвенно устанавливает размер TCP-окна) |
-C, --congestion | Установить алгоритм управления конгестией 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 | Добавить префикс ко всем строкам вывода |
Установить можно отдельным модулем или пакетом:
Для установки следует воспользоваться утилитой "Установка и удаление программ".
Модуль, необходимый для установки:
Для установки следует воспользоваться утилитой "Установка и удаление программ".
Пакет, необходимый для установки:
Внимание! Если система загружена в режиме полного сохранения, то внесенные изменения в систему будут сохранены. Если режим загрузки другой, то рекомендуется воспользоваться "Сохранением изменений".