Перейти к содержанию

iPerf3 — Руководство по установке и использованию

iPerf — это широко используемый инструмент для измерения и настройки сетевой производительности. Он кроссплатформенный и предоставляет стандартизированные метрики пропускной способности сети. iPerf включает как клиентскую, так и серверную функциональность и генерирует потоки данных для измерения пропускной способности между двумя конечными точками — в одном или обоих направлениях. Типичный вывод iPerf включает отчёт с временными метками, показывающий объём переданных данных и измеренную пропускную способность.


Оглавление


Как установить iPerf3

CentOS 7 / RHEL / Fedora:

yum install iperf3

CentOS 8:

dnf install iperf3

Debian / Ubuntu:

sudo apt install iperf3

Как использовать iPerf3

iPerf должен быть установлен на обоих компьютерах, между которыми производится тестирование соединения. Один компьютер работает в режиме сервера, другой — в режиме клиента. Клиент подключается к серверу для проверки скорости.


Режим теста по умолчанию (TCP клиент и сервер)

На первом сервере, который вы планируете тестировать, запустите iPerf в режиме сервера:

iperf3 -s
------------------------------------------------------------
 Server listening on TCP port 5201
------------------------------------------------------------

На втором сервере подключитесь к первому:

Сервер 2 (iPerf client)

iperf3 -c 212.6.44.32

Connecting to host 212.6.44.32, port 5201
[  5] local 77.73.67.143 port 57824 connected to 212.6.44.32 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  23.8 MBytes   200 Mbits/sec    0   1.67 MBytes     
[  5]   1.00-2.00   sec  23.8 MBytes   199 Mbits/sec    0   2.84 MBytes     
[  5]   2.00-3.00   sec  22.5 MBytes   189 Mbits/sec    0   3.00 MBytes     
[  5]   3.00-4.00   sec  23.8 MBytes   199 Mbits/sec    0   3.00 MBytes     
[  5]   4.00-5.00   sec  23.8 MBytes   199 Mbits/sec    0   3.00 MBytes     
[  5]   5.00-6.00   sec  22.5 MBytes   189 Mbits/sec    0   3.00 MBytes     
[  5]   6.00-7.00   sec  23.8 MBytes   199 Mbits/sec    0   3.00 MBytes     
[  5]   7.00-8.00   sec  23.8 MBytes   199 Mbits/sec    0   3.00 MBytes     
[  5]   8.00-9.00   sec  23.8 MBytes   199 Mbits/sec    0   3.00 MBytes     
[  5]   9.00-10.00  sec  22.5 MBytes   189 Mbits/sec    0   3.00 MBytes     
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   234 MBytes   196 Mbits/sec    0             sender
[  5]   0.00-10.02  sec   232 MBytes   194 Mbits/sec                  receiver

Сервер 1 (iPerf server)

Accepted connection from 77.73.67.143, port 57822
[  5] local 212.6.44.32 port 5201 connected to 77.73.67.143 port 57824
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  20.5 MBytes   172 Mbits/sec                
[  5]   1.00-2.00   sec  23.4 MBytes   197 Mbits/sec                
[  5]   2.00-3.00   sec  23.4 MBytes   196 Mbits/sec                
[  5]   3.00-4.00   sec  23.4 MBytes   196 Mbits/sec                
[  5]   4.00-5.00   sec  23.4 MBytes   196 Mbits/sec                
[  5]   5.00-6.00   sec  23.4 MBytes   196 Mbits/sec                
[  5]   6.00-7.00   sec  23.4 MBytes   196 Mbits/sec                
[  5]   7.00-8.00   sec  23.4 MBytes   196 Mbits/sec                
[  5]   8.00-9.00   sec  23.4 MBytes   197 Mbits/sec                
[  5]   9.00-10.00  sec  23.3 MBytes   196 Mbits/sec                
[  5]  10.00-10.02  sec   502 KBytes   193 Mbits/sec                
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.02  sec   232 MBytes   194 Mbits/sec                  receiver

Во время этого теста клиент iPerf выступает в роли отправителя, а в результатах видно:

Из логов клиента:

  • sender — это клиент iPerf, измеряется скорость загрузки с клиента на сервер.
  • receiver — это сервер iPerf, измеряется скорость загрузки на сервер с клиента.

Из логов сервера:

  • receiver — это сервер iPerf, измеряется скорость загрузки на сервер с клиента.

TCP клиент и сервер (Обратный режим)

Сервер 1 (iPerf сервер)

iperf3 -s

Для запуска в обратном режиме, когда сервер отправляет, а клиент принимает, добавьте ключ -R:

Сервер 2 (iPerf client)

iperf3 -c 212.6.44.32 -R

Connecting to host 212.6.44.32, port 5201
Reverse mode, remote host 212.6.44.32 is sending
[  5] local 77.73.67.143 port 34440 connected to 212.6.44.32 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  21.2 MBytes   178 Mbits/sec                 
[  5]   1.00-2.00   sec  23.4 MBytes   196 Mbits/sec                 
[  5]   2.00-3.00   sec  23.4 MBytes   196 Mbits/sec                 
[  5]   3.00-4.00   sec  23.3 MBytes   195 Mbits/sec                 
[  5]   4.00-5.00   sec  23.4 MBytes   196 Mbits/sec                 
[  5]   5.00-6.00   sec  23.4 MBytes   196 Mbits/sec                 
[  5]   6.00-7.00   sec  23.3 MBytes   195 Mbits/sec                 
[  5]   7.00-8.00   sec  23.4 MBytes   196 Mbits/sec                 
[  5]   8.00-9.00   sec  23.3 MBytes   196 Mbits/sec                 
[  5]   9.00-10.00  sec  23.4 MBytes   196 Mbits/sec                 
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   234 MBytes   197 Mbits/sec   18             sender
[  5]   0.00-10.00  sec   231 MBytes   194 Mbits/sec                  receiver

Сервер 1 (iPerf server)

Accepted connection from 77.73.67.143, port 34438
[  5] local 212.6.44.32 port 5201 connected to 77.73.67.143 port 34440
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  5]   0.00-1.00   sec  24.5 MBytes   205 Mbits/sec    6    675 KBytes      
[  5]   1.00-2.00   sec  22.5 MBytes   189 Mbits/sec   11    699 KBytes      
[  5]   2.00-3.00   sec  23.8 MBytes   199 Mbits/sec    0    724 KBytes      
[  5]   3.00-4.00   sec  23.8 MBytes   199 Mbits/sec    0    748 KBytes      
[  5]   4.00-5.00   sec  22.5 MBytes   189 Mbits/sec    0    772 KBytes      
[  5]   5.00-6.00   sec  23.8 MBytes   199 Mbits/sec    1    795 KBytes      
[  5]   6.00-7.00   sec  23.8 MBytes   199 Mbits/sec    0    816 KBytes      
[  5]   7.00-8.00   sec  22.5 MBytes   189 Mbits/sec    0    839 KBytes      
[  5]   8.00-9.00   sec  23.8 MBytes   199 Mbits/sec    0    860 KBytes      
[  5]   9.00-10.00  sec  23.8 MBytes   199 Mbits/sec    0    880 KBytes      
[  5]  10.00-10.02  sec  0.00 Bytes  0.00 bits/sec    0    880 KBytes      
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  5]   0.00-10.02  sec   234 MBytes   196 Mbits/sec   18             sender
[  5]   0.00-10.02  sec  0.00 Bytes  0.00 bits/sec                  receiver

Во время этого теста сервер iPerf выступает в роли отправителя. В результатах видно:

Из логов клиента:

  • sender — это сервер iPerf, измеряется скорость загрузки с сервера на клиента.
  • receiver — это клиент iPerf, измеряется скорость загрузки на клиента с сервера.

Из логов сервера:

  • sender — это сервер iPerf, измеряется скорость загрузки с сервера на клиента.
  • receiver — это клиент iPerf, измеряется скорость загрузки на клиента с сервера.

⚠️ Обратите внимание, что мы не указывали порт, так как на обеих сторонах используется iperf3, и порт по умолчанию — 5201.


Как открыть порт

CentOS / RHEL / Fedora:

sudo firewall-cmd --zone=public --add-port=5201/tcp

Debian / Ubuntu:

sudo ufw allow 5201

Флаги iPerf3

  • -R — запуск в обратном режиме (сервер отправляет данные).
  • -p <port> — указание порта, если 5201 занят.
  • -f — указание формата вывода (k, m, g для бит; K, M, G для байт).
  • -d — двунаправленный тест (измеряет пропускную способность в обоих направлениях).
  • --get-server-output — вывод результата сервера на клиенте.
  • -D — запуск сервера в фоновом режиме (daemon).

Для более подробной информации используйте справку:

man iperf3

Дополнительные ресурсы

iPerf3 Домашняя страница