我不是网络专家,但是我使用 iperf 测量了物理主机之间的网络,并且根据我使用的版本得到了不同的结果。
服务器配置:
中央处理器:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 64
On-line CPU(s) list: 0-63
Thread(s) per core: 2
Core(s) per socket: 8
Socket(s): 4
NUMA node(s): 8
Vendor ID: AuthenticAMD
CPU family: 21
Model: 1
Model name: AMD Opteron(tm) Processor 6282 SE
Stepping: 2
CPU MHz: 2600.166
BogoMIPS: 5199.30
Virtualization: AMD-V
L1d cache: 16K
L1i cache: 64K
L2 cache: 2048K
L3 cache: 6144K
NUMA node0 CPU(s): 0-7
NUMA node1 CPU(s): 8-15
NUMA node2 CPU(s): 16-23
NUMA node3 CPU(s): 24-31
NUMA node4 CPU(s): 32-39
NUMA node5 CPU(s): 40-47
NUMA node6 CPU(s): 48-55
NUMA node7 CPU(s): 56-63
网卡:
x2 ConnectX-4 Lx NIC,具有 XOR 绑定和巨型帧
05:00.0 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx]
05:00.1 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx]
8: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 9000 qdisc noqueue state UP qlen 1000
link/ether 7c:fe:90:12:23:ec brd ff:ff:ff:ff:ff:ff
inet 10.0.32.21/16 brd 10.0.255.255 scope global bond0
valid_lft forever preferred_lft forever
inet6 fe80::b1b0:74dd:8a3:705e/64 scope link
valid_lft forever preferred_lft forever
DEVICE=bond0
BONDING_OPTS="miimon=110 updelay=0 downdelay=0 mode=balance-xor"
TYPE=Bond
BONDING_MASTER=yes
MTU=9000
BOOTPROTO=none
IPADDR=10.0.32.21
PREFIX=16
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_PRIVACY=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME="Bond connection 1"
UUID=13a75833-cfdd-45f7-b167-6fba85c69c10
ONBOOT=yes
Iperf测试:
[root@hercules-21 ~]# iperf -c 10.0.32.22 -P 4
------------------------------------------------------------
Client connecting to 10.0.32.22, TCP port 5001
TCP window size: 325 KByte (default)
------------------------------------------------------------
[ 5] local 10.0.32.21 port 50962 connected with 10.0.32.22 port 5001
[ 3] local 10.0.32.21 port 50956 connected with 10.0.32.22 port 5001
[ 6] local 10.0.32.21 port 50958 connected with 10.0.32.22 port 5001
[ 4] local 10.0.32.21 port 50960 connected with 10.0.32.22 port 5001
[ ID] Interval Transfer Bandwidth
[ 5] 0.0-10.0 sec 6.92 GBytes 5.94 Gbits/sec
[ 3] 0.0-10.0 sec 7.00 GBytes 6.01 Gbits/sec
[ 6] 0.0-10.0 sec 6.87 GBytes 5.90 Gbits/sec
[ 4] 0.0-10.0 sec 6.83 GBytes 5.87 Gbits/sec
[SUM] 0.0-10.0 sec 27.6 GBytes 23.7 Gbits/sec
Iperf3测试:
[root@hercules-21 ~]# iperf3 -c 10.0.32.22 -P 4
Connecting to host 10.0.32.22, port 5201
[ 4] local 10.0.32.21 port 42700 connected to 10.0.32.22 port 5201
[ 6] local 10.0.32.21 port 42702 connected to 10.0.32.22 port 5201
[ 8] local 10.0.32.21 port 42704 connected to 10.0.32.22 port 5201
[ 10] local 10.0.32.21 port 42706 connected to 10.0.32.22 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 452 MBytes 3.79 Gbits/sec 0 358 KBytes
[ 6] 0.00-1.00 sec 453 MBytes 3.80 Gbits/sec 0 358 KBytes
[ 8] 0.00-1.00 sec 453 MBytes 3.80 Gbits/sec 0 350 KBytes
[ 10] 0.00-1.00 sec 453 MBytes 3.80 Gbits/sec 0 384 KBytes
[SUM] 0.00-1.00 sec 1.77 GBytes 15.2 Gbits/sec 0
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 1.00-2.00 sec 448 MBytes 3.76 Gbits/sec 0 358 KBytes
[ 6] 1.00-2.00 sec 448 MBytes 3.76 Gbits/sec 0 358 KBytes
[ 8] 1.00-2.00 sec 448 MBytes 3.76 Gbits/sec 0 350 KBytes
[ 10] 1.00-2.00 sec 448 MBytes 3.76 Gbits/sec 0 384 KBytes
[SUM] 1.00-2.00 sec 1.75 GBytes 15.0 Gbits/sec 0
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 2.00-3.00 sec 448 MBytes 3.76 Gbits/sec 0 358 KBytes
[ 6] 2.00-3.00 sec 448 MBytes 3.76 Gbits/sec 0 358 KBytes
[ 8] 2.00-3.00 sec 448 MBytes 3.76 Gbits/sec 0 350 KBytes
[ 10] 2.00-3.00 sec 448 MBytes 3.76 Gbits/sec 0 384 KBytes
[SUM] 2.00-3.00 sec 1.75 GBytes 15.0 Gbits/sec 0
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 3.00-4.00 sec 450 MBytes 3.77 Gbits/sec 0 428 KBytes
[ 6] 3.00-4.00 sec 450 MBytes 3.77 Gbits/sec 0 437 KBytes
[ 8] 3.00-4.00 sec 451 MBytes 3.78 Gbits/sec 0 516 KBytes
[ 10] 3.00-4.00 sec 452 MBytes 3.79 Gbits/sec 0 603 KBytes
[SUM] 3.00-4.00 sec 1.76 GBytes 15.1 Gbits/sec 0
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 4.00-5.00 sec 450 MBytes 3.78 Gbits/sec 0 428 KBytes
[ 6] 4.00-5.00 sec 450 MBytes 3.78 Gbits/sec 0 437 KBytes
[ 8] 4.00-5.00 sec 450 MBytes 3.78 Gbits/sec 0 516 KBytes
[ 10] 4.00-5.00 sec 451 MBytes 3.78 Gbits/sec 0 603 KBytes
[SUM] 4.00-5.00 sec 1.76 GBytes 15.1 Gbits/sec 0
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 5.00-6.00 sec 450 MBytes 3.77 Gbits/sec 0 428 KBytes
[ 6] 5.00-6.00 sec 449 MBytes 3.77 Gbits/sec 0 437 KBytes
[ 8] 5.00-6.00 sec 450 MBytes 3.77 Gbits/sec 0 516 KBytes
[ 10] 5.00-6.00 sec 450 MBytes 3.77 Gbits/sec 0 603 KBytes
[SUM] 5.00-6.00 sec 1.76 GBytes 15.1 Gbits/sec 0
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 6.00-7.00 sec 450 MBytes 3.77 Gbits/sec 0 428 KBytes
[ 6] 6.00-7.00 sec 450 MBytes 3.77 Gbits/sec 0 437 KBytes
[ 8] 6.00-7.00 sec 450 MBytes 3.77 Gbits/sec 0 516 KBytes
[ 10] 6.00-7.00 sec 450 MBytes 3.77 Gbits/sec 0 603 KBytes
[SUM] 6.00-7.00 sec 1.76 GBytes 15.1 Gbits/sec 0
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 7.00-8.00 sec 451 MBytes 3.78 Gbits/sec 0 428 KBytes
[ 6] 7.00-8.00 sec 451 MBytes 3.78 Gbits/sec 0 437 KBytes
[ 8] 7.00-8.00 sec 450 MBytes 3.78 Gbits/sec 0 516 KBytes
[ 10] 7.00-8.00 sec 451 MBytes 3.78 Gbits/sec 0 603 KBytes
[SUM] 7.00-8.00 sec 1.76 GBytes 15.1 Gbits/sec 0
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 8.00-9.00 sec 450 MBytes 3.78 Gbits/sec 0 428 KBytes
[ 6] 8.00-9.00 sec 449 MBytes 3.77 Gbits/sec 0 437 KBytes
[ 8] 8.00-9.00 sec 450 MBytes 3.78 Gbits/sec 0 516 KBytes
[ 10] 8.00-9.00 sec 449 MBytes 3.77 Gbits/sec 0 603 KBytes
[SUM] 8.00-9.00 sec 1.76 GBytes 15.1 Gbits/sec 0
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 9.00-10.00 sec 450 MBytes 3.77 Gbits/sec 0 428 KBytes
[ 6] 9.00-10.00 sec 450 MBytes 3.77 Gbits/sec 0 437 KBytes
[ 8] 9.00-10.00 sec 450 MBytes 3.77 Gbits/sec 0 516 KBytes
[ 10] 9.00-10.00 sec 451 MBytes 3.78 Gbits/sec 0 603 KBytes
[SUM] 9.00-10.00 sec 1.76 GBytes 15.1 Gbits/sec 0
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 4.39 GBytes 3.77 Gbits/sec 0 sender
[ 4] 0.00-10.00 sec 4.39 GBytes 3.77 Gbits/sec receiver
[ 6] 0.00-10.00 sec 4.39 GBytes 3.77 Gbits/sec 0 sender
[ 6] 0.00-10.00 sec 4.39 GBytes 3.77 Gbits/sec receiver
[ 8] 0.00-10.00 sec 4.40 GBytes 3.78 Gbits/sec 0 sender
[ 8] 0.00-10.00 sec 4.39 GBytes 3.77 Gbits/sec receiver
[ 10] 0.00-10.00 sec 4.40 GBytes 3.78 Gbits/sec 0 sender
[ 10] 0.00-10.00 sec 4.39 GBytes 3.77 Gbits/sec receiver
[SUM] 0.00-10.00 sec 17.6 GBytes 15.1 Gbits/sec 0 sender
[SUM] 0.00-10.00 sec 17.6 GBytes 15.1 Gbits/sec receiver
iperf Done.
[root@hercules-21 ~]#
正如您所见,iperf3 提供的带宽比 iperf 要低得多
添加更多并行请求没有帮助:
iperf3 with 24 threads [SUM] 0.00-10.00 sec 13.9 GBytes 11.9 Gbits/sec receiver
iperf3 8 threads [SUM] 0.00-10.00 sec 16.3 GBytes 14.0 Gbits/sec receiver
问题:
为什么 iperf 和 iperf3 之间存在如此大的差异?
非常感谢
答案1
Iperf3 不是多线程的(iperf2 是)。
您需要启动多个 iperf3 服务器/客户端来实现相同的目的(不使用 -P)。
更多信息可以在这里找到:
希望能帮助到你!