Table of Contents
最终结果极限 万兆网卡: 网络吞吐量 大约为 9409.58 Mbit/s ≈ 1176MB/s
本文章主要是为了测试万兆网卡的传输速率.
一. 物理机&软件:
1.两台装有万兆网卡的物理机, 中间用万兆交换机互联.
2.测试软件netperf
二.网卡信息
Mellanox Technologies MT27710 Family [ConnectX-4 Lx]
-
[root@master01 ~]
# ethtool enp9s0f0
-
Settings
for enp9s0f
0:
-
Supported ports: [ FIBRE ]
-
Supported
link modes:
1000baseKX/Full
-
10000baseKR/Full
-
Supported pause frame
use: Symmetric
-
Supports auto-negotiation: Yes
-
Supported FEC modes: None BaseR
-
Advertised
link modes:
1000baseKX/Full
-
10000baseKR/Full
-
Advertised pause frame
use: Symmetric
-
Advertised auto-negotiation: Yes
-
Advertised FEC modes: None
-
Speed:
10000Mb/
s
-
Duplex: Full
-
Port: FIBRE
-
PHYAD:
0
-
Transceiver: internal
-
Auto-negotiation: on
-
Supports Wake-on: d
-
Wake-on: d
-
Current message level:
0x00000004 (
4)
-
link
-
Link detected: yes
-
三. 安装netperf
在测试机和陪练机上安装Netperf。
执行如下命令,下载Netperf。
wget -c "https://codeload.github.com/HewlettPackard/netperf/tar.gz/netperf-2.5.0" -O netperf-2.5.0.tar.gz
或者
百度网盘 链接: https://pan.baidu.com/s/1yDLYII0EmGHdl0Sx4rtPxA 密码: ttwr
依次执行如下命令,安装Netperf。
tar -zxvf netperf-2.5.0.tar.gz
cd netperf-netperf-2.5.0
./configure && make && make install && cd ..
执行netperf -h和netserver -h命令,确认安装成功。
四. 开启多队列功能
在测试机内部依次执行如下命令,开启多队列功能。
注:以开启 enp9s0f0 网卡为例。
ethtool -L enp9s0f0 combined 4
echo "ff" > /sys/class/net/enp9s0f0/queues/rx-0/rps_cpus
echo "ff" > /sys/class/net/enp9s0f0/queues/rx-1/rps_cpus
echo "ff" > /sys/class/net/enp9s0f0/queues/rx-2/rps_cpus
echo "ff" > /sys/class/net/enp9s0f0/queues/rx-3/rps_cpus
五. 测试
5.1.性能标
(1)bps是指比特率
bps是线路单位,表示bit(比特)/second(秒)。在计算机网络或者是网络运营商中,一般,宽带速率的单位用bps(或b/s)表示;bps表示比特每秒即表示每秒钟传输多少位信息。
(2)pps是指网络吞吐率
pps是包转发率单位,表示包/秒,交换机每秒可以转发多少百万个数据包(Mpps),即交换机能同时转发的数据包的e799bee5baa6e79fa5e98193e59b9ee7ad9431333431353963数量。
5.2.netserver和netperf配置参数
Netperf安装完成后会生成2个工具:netserver和netperf。
工具名称 | 工具说明 | 主要参数 | 参数说明 |
---|---|---|---|
netserver | 接收端工具(server 端) | -p | 端口号 |
netperf | 发送端工具(client 端) | -H | 指定 ECS 实例的 IP 地址。 |
-p | 指定 ECS 实例的端口。 | ||
-l | 指定运行时间。 单位 秒 | ||
-t | 指定发包协议类型:TCP_STREAM 或 UDP_STREAM。建议使用 UDP_STREAM。 | ||
-m | 指定数据包大小。
|
5.2.netserver和netperf配置样例
测试机 内启动netserver进程 [ 开放接收端口 :11256 ] 可以开启多个端口
netserver -p 11256
陪练机 内启动netperf进程,分别指定到测试机的不同netserver端口。
PPS:
netperf -H master01 -p 11256 -t UDP_STREAM -l 300 -- -m 1
BPS:
netperf -H master01 -p 11256 -t UDP_STREAM -l 300 -- -m 1400
六. 查看结果
-
-
[
root@slave01]
# netperf -H 192.168.xxx.xxx -p 11256 -t UDP_STREAM -l 10 -- -m 1 #PPS
-
MIGRATED UDP STREAM TEST
from
0.0
.0
.0 (
0.0
.0
.0) port
0 AF_INET to
192.168.xxx.xxx (
192.168.xxx.xxx) port
0 AF_INET
-
-
Socket Message Elapsed Messages
-
Size Size Time Okay Errors Throughput
-
bytes bytes secs
# # 10^6bits/sec
-
-
262144
1
10.00
6124765
0
4.90
-
262144
10.00
6103439
4.88
-
-
-
[
root@slave01 ]
# netperf -H 192.168.xxx.xxx -p 11256 -t UDP_STREAM -l 10 -- -m 1400 # BBS
-
MIGRATED UDP STREAM TEST
from
0.0
.0
.0 (
0.0
.0
.0) port
0 AF_INET to
192.168.xxx.xxx (
192.168.xxx.xxx) port
0 AF_INET
-
-
Socket Message Elapsed Messages
-
Size Size Time Okay Errors Throughput
-
bytes bytes secs
# # 10^6bits/sec
-
-
262144
1400
10.00
5800083
0
6496.03
-
262144
10.00
4778491
5351.86
-
-
[
root@slave01 ]
#
-
[
root@slave01 ]
# netperf -H 192.168.xxx.xxx -p 11256 -t UDP_STREAM -l 10
-
MIGRATED UDP STREAM TEST
from
0.0
.0
.0 (
0.0
.0
.0) port
0 AF_INET to
192.168.xxx.xxx (
192.168.xxx.xxx) port
0 AF_INET
-
Socket Message Elapsed Messages
-
Size Size Time Okay Errors Throughput
-
bytes bytes secs
# # 10^6bits/sec
-
-
262144
65507
10.00
181666
0
9520.16
-
262144
10.00
174660
9153.01
根据这个结果进行解释
Socket Message Elapsed Messages Size Size Time Okay Errors Throughput bytes bytes secs # # 10^6bits/sec 262144 65507 10.00 181666 0 9520.16 262144 10.00 174660 9153.01
输出结果中各字段含义解释如下表所示。
字段数据 含义 262144 缓冲区大小 65507 数据包大小(Byte) 10.00 测试时间(s) 181666 数据包成功数 0 失败数 9520.16 网络吞吐量(Mbit/s)
- 通常我们建议在server端执行sar命令来统计实际收到的包并作为实际结果,具体命令为:
sar -n DEV 1 320
[root@master01 ] # sar -n DEV 1 320 Linux 3.10. 0- 957.27. 2.el7.x86_64 (master01) 2020年 04月 22日 _x86_64 _ ( 12 CPU) 15时 43分 11秒 IFACE rxpck/ s txpck/ s rxkB/ s txkB/ s rxcmp/ s txcmp/ s rxmcst/ s 15时 43分 12秒 lo 0. 00 0. 00 0. 00 0. 00 0. 00 0. 00 0. 00 15时 43分 12秒 enp7s 0 78.38 0. 00 5.13 0. 00 0. 00 0. 00 0. 00 15时 43分 12秒 enp9s0f 0 85.14 6.76 5.68 1.28 0. 00 0. 00 158.11 15时 43分 12秒 enp9s0f1 0. 00 0. 00 0. 00 0. 00 0. 00 0. 00 0. 00 平均时间: IFACE rxpck/ s txpck/ s rxkB/ s txkB/ s rxcmp/ s txcmp/ s rxmcst/ s 平均时间: lo 2.91 2.91 0. 36 0. 36 0. 00 0. 00 0. 00 平均时间: enp7s 0 113.01 0. 00 7.78 0. 00 0. 00 0. 00 6.10 平均时间: enp9s0f 0 316102.14 4.04 459766.25 0. 94 0. 00 0. 00 119.84 平均时间: enp9s0f1 0. 00 0. 00 0. 00 0. 00 0. 00 0. 00 0. 00
七.总结
最终结果极限 万兆网卡: 网络吞吐量 大约为 9409.58 Mbit/s ≈ 1176MB/s
-
[
root@slave01 ]
# netperf -H 192.168.xxx.xxx -p 11256 -t UDP_STREAM -l 10
-
MIGRATED UDP STREAM TEST
from
0.0
.0
.0 (
0.0
.0
.0) port
0 AF_INET to
192.168.xxx.xxx (
192.168.x
'x'x
.114) port
0 AF_INET
-
Socket Message Elapsed Messages
-
Size Size Time Okay Errors Throughput
-
bytes bytes secs
# # 10^6bits/sec
-
-
262144
65507
10.00
180995
0
9485.04
-
262144
10.00
174511
9145.25
-
-
[
root@slave01 ]
# netperf -H 192.168.xxx.x'x'x -p 11256 -t TCP_STREAM -l 10
-
MIGRATED TCP STREAM TEST
from
0.0
.0
.0 (
0.0
.0
.0) port
0 AF_INET to
192.168.xxx.xxx (
192.168.xxx.xxx) port
0 AF_INET
-
Recv Send Send
-
Socket Socket Message Elapsed
-
Size Size Size Time Throughput
-
bytes bytes bytes secs.
10^
6bits/sec
-
-
4194304
16384
16384
10.00
9409.58
转载:https://blog.csdn.net/zhanglong_4444/article/details/105682821