测试环境
CPU: Intel® Xeon® Gold 5122 CPU @ 3.60GHz
Cache: 16896 KB
Memory: 16G
X710 driver: i40e-2.11.29
X710 expansion-rom-version: 4.53 0x80001cdf 0.0.0
DPDK: dpdk-20.05
BIOS设置
CPU Power and Performance Policy
CPU C-state Disabled
CPU P-state Disabled
Enhanced Intel® Speedstep® Tech Disabled
Turbo Boost Disabled
Intel VT Fordirected I/O(VT-d) Enable
Intel Virtualization Technology (VT-x) Enable
内核启动参数
巨页设置: “default_hugepagesz=1G hugepagesz=1G hugepages=8”
IOMMU: “intel_iommu=on iommu=pt”
核心隔离: “isolcpus=4,5 nohz_full=4,5 rcu_nocbs=4,5”
以上核心隔离的配置,对于RFC2544不丢包测试比较关键。
l3fwd示例
安装DPDK官方的文档,要达到最好的性能,需要将以下两个变量,发送和接收描述符数量调整为2048,l3fwd示例中默认的值为1024。
/*
* Configurable number of RX/TX ring descriptors
*/
#define RTE_TEST_RX_DESC_DEFAULT 1024
#define RTE_TEST_TX_DESC_DEFAULT 1024
但是在本环境中,经过测试描述符数量设置为4096,性能最好。
l3fwd参数配置如下,核心使用4和5,端口数量为2,其中端口0的队列0由核心4处理,端口1的队列0由核心5处理。
./fastpath -c 0x30 – -p 0x3 -P --config="(0,0,4),(1,0,5)"
测试数据
64字节报文,双向流量,可达到线速的75%。
DPDK官方测试数据可参见链接: DPDK_20_05_Intel_NIC_performance_report