Все способы:
Шаг 1: Интеграция в систему
iPerf – это кроссплатформенная консольная утилита, позволяющая тестировать пропускную способность сети между двумя узлами и анализировать скорость передачи данных между сервером и клиентом. У нее открытый исходных код, реализована поддержка тестов пропускной способности TCP, UDP и SCTP.
Если iPerf уже установлена на компьютер, можете сразу переходить к Шагу 2 данной инструкции.
Утилита работает на компьютерах как на базе Windows, так и Linux или macOS. Процесс установки на платформах разный. Например, в macOS для этого потребуется Homebrew, а в Linux требуется выполнить команду sudo apt install iperf3 (в Ubuntu и Debian) или sudo dnf install iperf3 (Fedora и CentOS).
Рассмотрим порядок действий в операционной системе Windows, поскольку она является наиболее распространенной.
Кликните по ссылке выше, чтобы начать загрузку файлов утилиты с официального источника. Скачан будет архив, который потребуется распаковать в любую папку на локальном диске, например, в расположение C:\tools\iperf. Утилита не требует установки, поэтому достаточно запустить «iperf3.exe», после чего возможности утилиты будут интегрированы в ОС.
В качестве альтернативного метода можно воспользоваться специальной командой, выполненной в консоли «Windows PowerShell», которая автоматически скачивает и распаковывает файлы утилиты. Запустите консоль с расширенными правами, вставьте следующее содержимое:
$iPerfZip = "https://iperf.fr/download/windows/iperf-3.1.3-win64.zip"
$TargetFolder = Join-Path $env:TEMP "iperf.zip"
$iPerfPath = Join-Path $env:TEMP "iperf"
if (!(Test-Path $iPerfPath))
{ Invoke-WebRequest -Uri $iPerfZip -OutFile $TargetFolder
Expand-Archive -Path $TargetFolder -DestinationPath $iPerfPath
}
И нажмите на клавишу «Enter» после последней строки.
Шаг 2: Настройка файрвола
Утилита может работать в режиме сервера (используется параметр -s) или клиента (параметр -c). Если через iPerf запускает сервер Windows, следует открыть входящий порт 5201 для протоколов TCP и UDP. Для этого можно воспользоваться графическим интерфейсом «Защитника Windows» или консолью «Windows PowerShell». Во втором случае можно создать и включить правила файрвола с помощью нескольких команд:
New-NetFirewallRule -DisplayName 'iPerf-Server-Inbound-TCP' -Direction Inbound -Protocol TCP -LocalPort 5201 -Action Allow | Enable-NetFirewallRule
New-NetFirewallRule -DisplayName 'iPerf-Server-Inbound-UDP' -Direction Inbound -Protocol UDP -LocalPort 5201 -Action Allow | Enable-NetFirewallRule.
Шаг 3: Изучение синтаксиса и опций
Так как утилита имеет и серверную часть, и клиентскую, следует рассмотреть каждую из них по отдельности. Что касается запуска клиента, нужно использовать ключ -c, которому нужно передать адрес сервера. Команда выглядит так: iperf3 -c адрес_сервера.
- Чтобы запустить сервер, нужно сначала выполнить команду
cd C:\tools\iperfдля перехода в каталог, куда были распакованы файлы утилиты (Шаг 1). После командыcdпуть может быть иным, в зависимости от того, куда вы извлекли данные.
Затем введитеiperf3 -s, после чего можно прописывать опции. - Что касается запуска клиента, нужно использовать ключ
-c, которому нужно передать адрес сервера. Команда выглядит так:iperf3 -c адрес_сервера. Например:iperf3 -c 192.168.1.202.
У утилиты довольно большое количество опций, поэтому следует рассмотреть общий синтаксис программного обеспечения, так как это крайне пригодится при работе с ней:
-p,--port– указывает порт для сервера или к какому порту нужно подключиться;-i,--interval– интервал времени между показами результатами проверки;-f,--format– формат данных, которые выводятся (значенияk(килобиты),m(мегабиты),g(гигабиты),K(килобайты),M(мегабайты),G(гигабайты),T(терабайты));-F,--file– параметр позволяет использовать данные из определенного файла, вместо генерации случайных данных;--logfile– запись информации в log-файл;-J,--json– информация выводится в формате JSON;-v,--version– отображение версии утилиты;--forceflush– опция позволяет удалить историю результата перед выводом нового результата тестирования.
Для серверной части доступно лишь три опции:
-D,--daemon– запуск сервера в фоновом режиме;-I,--pidfile– указание пути для записи файла процесса PID;-1,--one-off– обработка одного подключения клиента с последующим выходом.
Что касается клиентской части, опций у нее значительно больше:
--connect-timeout– указание таймаута для первого соединения с сервером (в миллисекундах);--sctp– использование SCTP вместо TCP;-u,--udp– использование UDP вместо TCP;-t,--time– период времени одного теста (по умолчанию – 10 секунд);-R,--reverse– обратный тест, при котором сервер отправляет данные клиента, а не наоборот;-4,--version4– использование только протокола IPv4;-6,--version6– использование только IPv6;-w— размер окна TCP;-P— количество потоков.
Выше мы привели лишь некоторую часть опций, которые доступны в iPerf. Чтобы отобразить все возможности, выполните команду man iperf3.
Шаг 4: Использование утилиты
Зная основной синтаксис и принцип работы iPerf, можно без труда разобраться, как ею пользоваться. Так как функциональности утилиты обширный, мы воспользуемся конкретными примерами и в качестве сервера будем использовать адрес 192.168.0.101.
- Перейдите к расположению распакованный на Шаге 1 файлам через консоль. Мы уже упоминали, что в нашем случае это команда
cd C:\tools\iperf. Чтобы запустить серверную часть программы, выполнитеiperf3 -s. - Если нужно указать, в каких единицах измерения будет выводиться результат, используйте опцию
-fи значение (выше мы эту опцию описывали). Например,iperf3 -s -f K(значит, что информация будет выводиться в килобитах). - Для сервера можно задать порт, используя опцию
-p, и это будет выглядеть так:iperf3.exe -s -p 4000(по умолчанию он работает на порту 5201).
Не забывайте про файрвол: если на сервере установлен брандмауэр, нужно разрешить в нем подключение к порту, который вы выбрали (Шаг 2).
- Когда нужен запуск утилиты в фоне, понадобится опция
-D, но еще можно перенаправить в этой команде результат в лог-файл:iperf3.exe -s -D --logfile /var/log/ipref.log.
Если нужно указать, откуда ждать результат проверки, может понадобиться выполнитьiperf3.exe -s -4 -D --logfile /var/log/ipref.log(в этом случае-4означает IPv4-соединение). - После предварительной настройки (примерный алгоритм мы рассмотрели выше) можно подключиться к серверу. Для этого используется опция
-c(iperf3 -c 192.168.0.101 -f K).
В данном примере текст по умолчанию выполняется 10 секунд. По результату можно узнать свою пропускную способность (колонка «Bitrate»). Отображаются средние значения.Утилита выводит промежуточный результат теста каждую секунду. Изменить это можно с помощью опции
-i. Например, если нужно установить промежуток в 5 секунд, используйтеiperf3.exe -c 192.168.0.101 -f M -i 5. - Если нужно провести детальный текст с увеличенным окном TCP, 8 параллельными потоками, 20-секундным тестом и выводом результата в мегабитах, то используется такой запрос:
iperf3.exe -c 192.168.0.101 -P 8 -t 20 -w 32768 -i 5 -f m. - Чтобы провести текст одновременной отправки и приема, выполните команду
iperf3.exe -c 192.168.0.101 -P 8 -t 30 -w 32768 -d. - А для UDP-теста используется
iperf3.exe -c 192.168.1.202 -u.

Когда нужно узнать скорость работы сетевого провайдера, но при этом сервера нет, можно использовать один из публичных серверов iPerf. Он есть на официальном сайте разработчика, а команда в этом случае примерно такая: iperf3.exe -c iperf.volia.net.
Шаг 5: Анализ результатов
После проверки с помощью утилита iPerf можно увидеть таблицу результатов, которую можно проанализировать:
- ID – идентификатор запросов, который нужен для ориентирования, если к серверу выполнялось несколько обращений;
- Interval – промежуток времени в секундах, на протяжении которого выполнялась передача данных;
- Transfer – количество данных, переданных за определенных интервал времени;
- Bandwidth – средняя скорость передачи данных за промежуток времени;
- Retr – число сегментов TCP, который отправлялись повторно;
- Cwnd – количество одновременно переданных данных.
lumpics.ru









Вам удалось решить проблему?