Ссылки:
1 2 |
https://iperf.fr/ https://www.dmosk.ru/instruktions.php?object=iperf |
iperf примеры использования:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
!!! Совместимость iPerf и iPerf3 !!! Клиент и сервер совместимы, но нужно знать, что по умолчанию, рабочий порт для iPerf — 5001, для iPerf3 — 5201. Сервер: iperf -s iperf3 -s -p 8080 поднять сервер для теста скорости Клиент: iperf -c 10.0.0.1 - подключится к серверу для теста (стандартный порт 5201) iperf3 -c 172.16.12.1 -p 8080 -t 180 проверить скорость в течении 180 секунд iperf3 -c 10.0.0.1 -u - используем UDP iperf3 -c 10.0.0.1 -p 443 - используем не стандартный порт 443 iperf3 -c 10.0.0.1 -t 30 -i 2 - проверка скорости в течение 30 секунд с интервалами по 2 секунды iperf3 -c 10.0.0.1 -P 3 - несколько параллельных запросов iperf3 -c 10.0.0.1 -n 3G - отправляем на проверку 3 Гб данных iperf3 -c 10.1 -R t 30 - тут мы используем(-R), режим Reverse Mode для тестирования входящей скорости на клиенте (в этом случае сервер передает данные, а клиент принимает. -P <число> (в данном примере тестирование будет выполняться в 2 потока) -t <сек> длительность тестирования (по умолчанию 10 сек) -i <сек> можно изменить интервал времени для вывода результатов -n <байты>[KMG] объем трафика, который необходимо передать при тестировании -u по умолчанию тестирование выполняется с помощью протокола TCP, но поддерживается также работа с протоколом UDP, -u включает эту поддержу -b <биты>[KMG] ограничение максимальной скорости -l <байты> устанавливает длину пакета iperf3 -c 10.0.0.1 -R -n 500M -P 2 -i 3 iperf3 -Vc 10.0.0.1 -u -R -t 60 -b 100M -l 1400 Чаще всего используется вот так для UDP: iperf3 -c 10.0.0.1 -u -t 0 -b 0 -P 4 -u - протокол UDP -t - время теста, 0 бесконечно -b - шейпинг скорости, 0 - шейпинг отключён -P - кол-во потоков А так для TCP: iperf3 -c 10.0.0.1 -u -t 0 -b 0 -P 4 -u - протокол UDP -t - время теста, 0 бесконечно -b - шейпинг скорости, 0 - шейпинг отключён -P - кол-во потоков |
vim /etc/systemd/system/iperfd.service
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[Unit] Description=iPerf Service After=network.target [Service] Type=forking PIDFile=/run/iperf3.pid ExecStart=-/bin/iperf3 -s -D -I /run/iperf3.pid ExecReload=/bin/kill -HUP $MAINPID Restart=always [Install] WantedBy=multi-user.target |
Описание параметров iperf3d.service:
1 2 3 4 5 6 7 8 |
Description — описание юнита After указывает на юнит, после которого может загружаться наш сервис Type — тип службы PIDFile — путь к pid файлу, в котором хранится номер процесса ExecStart — команда, которую нужно выполнить при старте сервиса (в данном примере запускается iPerf в режиме сервера как демон и создает pid-файл) ExecReload — команда для перезапуска службы Restart=always — опция, позволяющая автоматически перезапускать сервис, если он перестанет работать опция WantedBy=multi-user.target позволяет установить для автозапуска службу в обычном многопользовательском режиме |
systemctl
1 2 3 4 |
systemctl daemon-reload - перезапускаем systemd (иногда требуется после изменения и создания нового юнита) systemctl enable iperf3d - добавляем в автозагрузку systemctl start iperf3d - запускаем демон systemctl status iperf3d - проверяем |