本篇文章是和同事一起为某个项目测试,验证在OpenPOWER9的服务器上,PCIe4.0能够全面释放双口100Gb网卡的性能。如有内容有偏差,欢迎私信。
硬件配置:
两台OpenPOWER(FP5280G2)服务器,上面有PCIe4.0的槽位。 处理器:POWER9 Sforza 16core * 2 板卡:Mellanox 100G CX516A-CDAT网卡 交换机:Mellanox MSN2700-CS2F 100G交换机 100G线缆:Mellanox 100G 铜缆 100G线缆:Hisense 100G AOC光缆
软件配置
软件部件名称
操作系统CentOS7 PPC64le ISOiperfiperf-2.0.9网卡驱动MLNX_OFED_LINUX-4.6-1.0.1.1-rhel7.5-ppc64le.tgz
测试结论
测试项(100Gb 以太网)网口1速度网口2速度
使用Mellanox铜缆直连iperf测试89.2Gb/s88.7Gb/s使用海信AOC线缆直连iperf测试89Gb/s89Gb/s使用海信AOC线缆接入100Gb交换机iperf测试85Gb/s84.2Gb/s
结论:在PCIe 4.0的槽位上,100Gb双网口单口速度不受限制,全面释放。PCIe3.0槽位上理论带宽可以查看下面的图表,受限于PCIe3.0的带宽。
不同PCIe标准下的带宽
PCI Express 版本行代码传输速率×1×4×8×16
1.08b/10b2.5GT/s250MB/s1GB/s2GB/s4GB/s2.08b/10b5GT/s500MB/s2GB/s4GB/s8GB/s3.0128b/130b8GT/s984.6MB/s3.938GB/s7.877GB/s15.754GB/s4.0128b/130b16GT/s1.969GB/s7.877GB/s15.754GB/s31.508GB/s5.0128b/130b32 or 25GT/s3.9 or 3.08GB/s15.8 or 12.3GB/s31.5 or 24.6GB/s63.0 or 49.2GB/s
正如上图中的测试结果,实际场景通过100Gb交换机相连,单端口85Gb/s, 双端口170Gb/s。上表中PCIe4.0,x16槽位,带宽31.5GB,即241Gb/s, 全面释放卡的性能。 而上图PCIe标准中,对于PCIe3 x16的是15.7GB/s即120Gb/s, 而实测的通过100Gb交换机的100Gb双口卡就已经达到了170Gb/s左右,PCIe3 成为瓶颈,100Gb卡无法完全发挥性能。
查看槽位是PCIe4.0的槽位
#lspci -s 0033:01:00.0 -vvv |grep LnkSt
LnkSta
: Speed
16GT
/s
, Width x8
, TrErr
- Train
- SlotClk
+ DLActive
- BWMgmt
- ABWMgmt
-
LnkSta2
: Current De
-emphasis Level
: -6dB
, EqualizationComplete
-, EqualizationPhase1
-
测试命令和结果截图
#使用Mellanox铜缆直连iperf测试(第一个口)
numactl -N 8 iperf -B 1.1.1.1 -s -p 12345
#使用Mellanox铜缆直连iperf测试(第二个口),开多个终端同时测试2口
numactl -N 8 iperf -B 2.2.2.1 -s -p 123456
#使用海信AOC线缆直连iperf测试(第一个口)
numactl -N 8 iperf -B 1.1.1.1 -s -p 12345
#使用海信AOC线缆直连iperf测试(第二个口)
numactl -N 8 iperf -B 2.2.2.1 -s -p 123456
#使用海信AOC线缆接入100G交换机iperf测试(第一个口)
numactl -N 8 iperf -B 1.1.1.1 -s -p 12345
#使用海信AOC线缆接入100G交换机iperf测试(第二个口)
numactl -N 8 iperf -B 2.2.2.1 -s -p 123456
其他说明
使用iperf命令,而不是iperf3,iperf3不能启多个进程。对于RDMA的协议测试结果也是类似,PCIE4.0槽位上可以全面释放卡的性能。有兴趣可以自测。命令列在下方。
ib_write_bw -d mlx5_0 --report_gbits -F --run_infinitely
ib_write_bw -d mlx5_0 --report_gbits -b -F --run_infinitely 2.2.2.1
参数设置
ppc64_cpu --smt=off
systemctl disable irqbalance
selinux=disabled
systemctl disable firewalld
cpu_frequency=performance
MTU=9000
PCIE maxpayload=512
链接:
Power9硬件安装的Centos镜像介质CentOS-7-power9-Minimal-2003.iso https://mirrors.tuna.tsinghua.edu.cn/centos-altarch/7/isos/power9/ PCIe百度百科链接 https://baike.baidu.com/item/pcie