Поскольку утилита имеет как серверную часть так и клиентскую, надо рассматривать обе отдельно. Для запуска сервера используется такой синтаксис:
$ iperf3 -s опции
Для запуска клиента используется ключ -c, которому надо передать адрес сервера:
$ iperf3 -c адрес_сервера опции
Теперь давайте рассмотрим общие опции программы:
-p, --port - указать порт для сервера или к какому порту надо подключаться;
-f, --format - формат выводимых данных, доступны значения: k,m,g,t,K,M,G,T;
-i, --interval - интервал времени между выводами результата тестирования;
-F, --file - использовать данные из файла вместо генерации случайных данных;
-V, --verbose - вывод максимально подробной информации;
-J, --json - вывод в формате JSON;
--logfile - записывать информацию в лог файл;
--forceflush - очищать историю вывода перед выводом следующего результата тестирования;
-v, --version - версия программы.
Теперь разберемся с опциями только для серверной части:
-D, --daemon - запустить сервер в фоновом режиме;
-I, --pidfile - путь для записи PID файла процесса;
-1, --one-off - обработать только одно подключение клиента, а затем выйти.
У клиентской части опций чуть больше:
--sctp - использовать SCTP вместо TCP;
-u, --udp - использовать UDP вместо TCP;
--connect-timeout - таймаут для первого соединения с сервером в миллисекундах;
-b, --bitrate - битрейт, для UDP используется по умолчанию 1 Мбит/сек, для TCP не ограничено;
-t, --time - время одного теста в секундах, по умолчанию 10 секунд;
-R, --reverse - обратный тест, не клиент отправляет данные серверу, а сервер клиенту;
-P - количество потоков;
-w - размер окна TCP;
-4, --version4 - использовать только IPv4;
-6, --version6 - использовать только IPv6.