鲲鹏社区首页
中文
注册
开发者
DPDK性能未达到最佳问题总结

DPDK性能未达到最佳问题总结

DPDK

发表于 2025/09/30

0

作者 | 朱勇

某客户在使用鲲鹏服务器进行业务适配并进行性能测试,鲲鹏服务器单百G网卡流量性能未达到最优值,需要分析根因并进行优化。

1 测试环境

硬件环境信息

硬件

鲲鹏服务器配置信息

服务器

鲲鹏服务器

CPU

鲲鹏920 5250处理器 @2.60GHz

内存

512GB: 16 * 32GB DIMMs @ 2933MHz

网卡

One MT42822 BlueField-2 integrated ConnectX-6 Dx network controller@X16; 100GbE; Dual-port; PCIe x16; riser x16

操作系统和软件信息

软件名称

版本

操作系统

CentOS Linux release 8.5.2111

内核版本

4.18.0-348.el8.aarch64

GCC版本

8.5.0 20210514 (Red Hat 8.5.0-3)

Mellanox OFED驱动版本

MLNX_OFED_SRC-23.10-1.1.9.0

DPDK版本

22.11.3

2 问题复现

由于时间紧迫且客户没有实际业务环境进行问题分析,考虑到客户在DPDK的testpmd中测试中出现过这类问题,所以决定搭建一套DPDK的环境来进行仿真测试和问题分析。搭建好环境后测试的结果如下图所示。

测试时业务流量为100G左右,但DPDK接收到的流量只有70G左右。

3 根因分析

1)在软硬件配置方面排查发现网卡用的是CX6百G网卡,该网卡使用的PCIe插槽是x8插槽,对传输速率可能有影响。

2)网卡的MTU值默认为1500,业务流量中超过1500包长的网络包无法被网卡接收,这是造成业务流量与DPDK接收流量不一致的主要原因。

4 解决方法

1)将CX6百G网卡的PCIe插槽替换成x16插槽。查看网卡插槽型号的命令如下所示。

lspci -vvvs 01:00.1

2)将网卡的MTU设置到最大值9000,设置MTU的命令如下所示。

ifconfig eth0 mtu 9000

查看网卡MTU,命令如下所示。

ip a

5 测试效果

通过上述调优此时DPDK接收流量为97G左右,与业务流量基本一致。测试结果如下图所示。

本页内容