基于DPDK的网卡Testpmd单端口双队列自发自收转发性能测试

测试目的

使用DPDK自带Testpmd测试程序测试网卡单端口双队列自发自收下数据包转发性能。

预置条件

  1. 测试流量生成工具(Test Center)。
  2. 适配网卡的网卡驱动。
  3. 服务器已经安装Linux操作系统并安装对应网卡的DPDK testPMD应用,并优化BIOS配置。
  4. 按照测试组网3将测试仪与被测服务器网卡端口分别连接。
  5. 测试拓扑参考附录,组网3.1
  6. 操作系统下可进行调优设置,如修改内存巨页、设置CPU 节能选项、设置PCIe内核引导选项、设置内核iommu引导选项设置NUMA选项等。

测试步骤

  1. 编译testpmd测试用例。
  2. 启动运行testpmd测试程序。
  3. 测试模型采用:

    Traffic_Gen_Nic1->eth0-Test_Device-eth0->Traffic_Gen_Nic1

  4. 以单端口双队列模式运行Testpmd:

    ./app/testpmd -l 0-2 -w d8:00.0 --socket-mem=2048,0 -- -i --rss-ip --nb-cores=2 --rxq=2 --txq=2 --rxd=1024 --txd=1024 --burst=64 --forward-mode=macswap -a

    其中,-nb-cores=2 cpu指定转发核数为2个。内存分配给插槽为2G,具体转发核和内存位置可根据Numa节点配置;--rxq=2 --txq=2 网卡端口队列数为2; 绑定网口是个奇数,所以自己成pair。

  5. 用包发生器向被测试的设备端口注入流量,流量的包长为64B。包发生器发包的过程中逐包变化数据包的目的IP,构造不同的业务流量,通过测试仪表检测在丢包率设为0.001%情况下的网络吞吐,记录转发性能数据及平均时延。
  6. 使用流程生成设备向被测设备的端口注入流量,将数据包大小换为128B、256B、512B,1024,1280,1518,重复执行上述步骤,记录不同包长的性能数据。
  7. 分别在ARM服务器平台和x86服务器平台重复以上步骤进行测试。

预期结果

记录网卡单端口单队列情况下不同大小的数据包的时候转发性能数据。(丢包率及抖动指标需确认)

测试结果

-

备注

-