Iperf3 - инструмент для тестирование пропускной способности сети.
Для установки Iperf3 в системах с пакетным менеджером apt (Debian подобных системах), необходимо выполнить следующую команду:
root@Iperf3-1:~# apt install iperf3
Reading package lists... Done
Building dependency tree... Done
The following additional packages will be installed:
libiperf0 libsctp1
Suggested packages:
lksctp-tools
The following NEW packages will be installed:
iperf3 libiperf0 libsctp1
0 upgraded, 3 newly installed, 0 to remove and 46 not upgraded.
Need to get 143 kB of archives.
After this operation, 361 kB of additional disk space will be used.
Do you want to continue? [Y/n]
Немного о синтаксисе утилиты:
- Для запуска серверной части утилиты необходимо добавить аргумент
-s
и при вводе команды как указана ниже у нас запустится такое меню:
root@Iperf3-1:~# iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
- Для подключения к запущенному серверу необходимо прописать аргумент
-с IP-адрес
:
root@Iperf3-2:~# iperf3 -c 192.168.4.236
Connecting to host 192.168.4.236, port 5201
[ 5] local 192.168.4.130 port 39172 connected to 192.168.4.236 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 3.92 GBytes 33.6 Gbits/sec 0 518 KBytes
[ 5] 1.00-2.00 sec 3.94 GBytes 33.8 Gbits/sec 0 518 KBytes
[ 5] 2.00-3.00 sec 3.97 GBytes 34.1 Gbits/sec 0 518 KBytes
[ 5] 3.00-4.00 sec 3.93 GBytes 33.7 Gbits/sec 0 550 KBytes
[ 5] 4.00-5.00 sec 4.00 GBytes 34.4 Gbits/sec 0 578 KBytes
[ 5] 5.00-6.00 sec 3.98 GBytes 34.2 Gbits/sec 0 650 KBytes
[ 5] 6.00-7.00 sec 3.97 GBytes 34.1 Gbits/sec 0 650 KBytes
[ 5] 7.00-8.00 sec 3.97 GBytes 34.1 Gbits/sec 0 650 KBytes
[ 5] 8.00-9.00 sec 3.98 GBytes 34.1 Gbits/sec 0 650 KBytes
[ 5] 9.00-10.00 sec 3.98 GBytes 34.2 Gbits/sec 0 650 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 39.6 GBytes 34.0 Gbits/sec 0 sender
[ 5] 0.00-10.04 sec 39.6 GBytes 33.9 Gbits/sec receiver
iperf Done.
- В примере указанном выше производилось тестирование скорости в один поток, что не совсем отражает реальную скорость соединения, поэтому мы можем использовать аргумент
-P число потоков
для запуска многопоточного тестирования пропускной способности:
root@Iperf3-2:~# iperf3 -c 192.168.4.236 -P 8
Connecting to host 192.168.4.236, port 5201
[ 5] local 192.168.4.130 port 56726 connected to 192.168.4.236 port 5201
...
[SUM] 0.00-10.04 sec 41.4 GBytes 35.4 Gbits/sec receiver
iperf Done.
- В примерах показанных выше производилось тестирование скорости между контейнерами, которые соединены виртуальным бриджем из-за чего скорость соединения получается на уровне возможностей оперативной памяти и процессора Теперь давайте попробуем провести тестирование пропускной способности на реальных тестовых машинах соединенных кабелем с скоростью 1Gbe:
root@Iperf3-2:~# iperf3 -c 192.168.4.236
Connecting to host 192.168.4.236, port 5201
[ 5] local 192.168.4.130 port 52200 connected to 192.168.4.236 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 114 MBytes 956 Mbits/sec 0 406 KBytes
[ 5] 1.00-2.00 sec 112 MBytes 942 Mbits/sec 0 424 KBytes
[ 5] 2.00-3.00 sec 112 MBytes 941 Mbits/sec 0 445 KBytes
[ 5] 3.00-4.00 sec 113 MBytes 946 Mbits/sec 0 445 KBytes
[ 5] 4.00-5.00 sec 112 MBytes 940 Mbits/sec 0 518 KBytes
[ 5] 5.00-6.00 sec 113 MBytes 947 Mbits/sec 0 542 KBytes
[ 5] 6.00-7.00 sec 112 MBytes 944 Mbits/sec 0 570 KBytes
[ 5] 7.00-8.00 sec 112 MBytes 940 Mbits/sec 0 570 KBytes
[ 5] 8.00-9.00 sec 112 MBytes 941 Mbits/sec 0 570 KBytes
[ 5] 9.00-10.00 sec 112 MBytes 939 Mbits/sec 0 570 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 1.10 GBytes 944 Mbits/sec 0 sender
[ 5] 0.00-10.05 sec 1.10 GBytes 937 Mbits/sec receiver
iperf Done.
- Теперь можно наблюдать реальную скорость между двумя физическими машинами.