Table of Contents
一. 物理机&软件:
二.网卡信息
三. 安装netperf
四. 开启多队列功能
五. 测试
5.1.性能标
5.2.netserver和netperf配置参数
5.2.netserver和netperf配置样例
六. 查看结果
七.总结
最终结果极限 万兆网卡: 网络吞吐量 大约为 9409.58 Mbit/s ≈ 1176MB/s
本文章主要是为了测试万兆网卡的传输速率.
一. 物理机&软件:
1.两台装有万兆网卡的物理机, 中间用万兆交换机互联.
2.测试软件netperf
二.网卡信息
Mellanox Technologies MT27710 Family [ConnectX-4 Lx]
[root@master01 ~]# ethtool enp9s0f0
Settings for enp9s0f0:Supported ports: [ FIBRE ]Supported link modes: 1000baseKX/Full10000baseKR/FullSupported pause frame use: SymmetricSupports auto-negotiation: YesSupported FEC modes: None BaseRAdvertised link modes: 1000baseKX/Full10000baseKR/FullAdvertised pause frame use: SymmetricAdvertised auto-negotiation: YesAdvertised FEC modes: NoneSpeed: 10000Mb/sDuplex: FullPort: FIBREPHYAD: 0Transceiver: internalAuto-negotiation: onSupports Wake-on: dWake-on: dCurrent message level: 0x00000004 (4)linkLink 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),即交换机能同时转发的数据包的数量。
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 | 指定数据包大小。 - 测试 PPS 时,建议该值为 1。
- 测试 BPS(bit per second)时,建议该值为 1400。
|
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_INETSocket Message Elapsed Messages
Size Size Time Okay Errors Throughput
bytes bytes secs # # 10^6bits/sec262144 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_INETSocket Message Elapsed Messages
Size Size Time Okay Errors Throughput
bytes bytes secs # # 10^6bits/sec262144 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/sec262144 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/sec262144 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) |
七.总结
最终结果极限 万兆网卡: 网络吞吐量 大约为 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/sec262144 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/sec4194304 16384 16384 10.00 9409.58