---
title: 1PMD性能测试
description: "| 用例编号 | 4.1.1 |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/testguide/tstg/kunpengcpfsovs_11_0015.html
sourcePath: /source/zh/kunpengcpfs/testguide/tstg/kunpengcpfsovs_11_0015.html
indexId: 60b40b6fe5495a3a90088dafdbceadb1d0167fbbcf8bd5dd3770cbd9bc6b4c4e65
---
# 1PMD性能测试

| 用例编号 | 4.1.1 |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 测试目的 | 接收端一个转发核的包率 接收端一个转发核的带宽 |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| 测试组网 | 参见图1 |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| 预置条件 | 参见搭建测试环境 |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| 测试步骤 | 启动OVS服务。 1 service openvswitch start 配置启动参数。 1 ovs\-vsctl \-\-no\-wait set Open\_vSwitch . other\_config:dpdk\-init=true other\_config:dpdk\-socket\-mem="4096" other\_config:dpdk\-lcore\-mask="0x3" other\_config:pmd\-cpu\-mask="0x2" 重启OVS服务。 1 service openvswitch restart 设置虚拟机的队列。 1 virsh edit VM1 将下图标识的地方修改为2。 VM1到VM8逐一修改。 修改组网脚本。 修改网口的PCI地址（参见4，配置一次即可）。 修改网口的队列数，将下图标识的地址修改成2。 配置组网。 1 2 sh topology\_all.sh setvxlan sh topology\_all.sh ct 参见配置发送端主机启动并登录虚拟机。 验证组网环境。 发送端任一虚拟机均可ping通接收端所有虚拟机则组网成功，若存在不通情况，请联系华为技术支持人员。 测试包率。 接收端虚拟机进入“/home”目录下，执行测试脚本。 1 sh run.sh 观察接收端包率（rx所对应的 xxx p/s）。 1 vnstat \-l 发送端虚拟机都进入“/home”目录下，在VM1执行脚本。 1 sh run\_8VM.sh 说明： 测试开源OVS+DPDK则请执行脚本run\_3\_4VM.sh。 1 sh run\_3\_4VM.sh 观察接收端包率。 在接收主机内观察接收端PMD力。 1 watch \-d \-n 1 ovs\-appctl dpif\-netdev/pmd\-rxq\-show 说明： 如果标记的值加起来接近100%（一般90%以上就可以了，这个值不准确，显示的值大概是几十秒之前的值，用来参考），而且增加发送端压力也不能提升接收端包率，说明接收端PMD达到瓶颈，如果发送端1个虚拟机不够，在用VM2执行同样的命令增加压力，直到所有PMD压力接近100%，1PMD一般一个发送端虚拟机，4PMD3~4个发送端虚拟机。 查看包率。 1 vnstat \-l 此时发送端的虚拟机包率要大于接收端包率。 接收端按ctrl+c结束统计。 可以看到平均值小于实际包率，因为统计了一段包率为0的时间段 ，拉低了平均值，需要重新统计。 重复9.f，再次统计1分钟，取平均值。 将所有虚拟机的包率加起来，即PMD的包率转发性能。 测试带宽。 发送端虚拟机杀掉所有Netperf进程。 1 pkill netperf 接收端保持在测试包率之后的状态不变。 发送端虚拟机执行带宽测试脚本。 1 sh bw\_8VM.sh 接收端观察的指标变成带宽，观察PMD是否达到瓶颈。 1 watch \-d \-n 1 ovs\-appctl dpif\-netdev/pmd\-rxq\-show 发送端和接送段所观察到的带宽是一致的，PMD使用率达到90%及以上即为达到瓶颈。 达到接收端瓶颈之后，重新统计1分钟平均值。 1 vnstat \-l 接收端所有虚拟机带宽相加，即PMD的带宽转发性能。 | 1 | service openvswitch start | 1 | ovs\-vsctl \-\-no\-wait set Open\_vSwitch . other\_config:dpdk\-init=true other\_config:dpdk\-socket\-mem="4096" other\_config:dpdk\-lcore\-mask="0x3" other\_config:pmd\-cpu\-mask="0x2" | 1 | service openvswitch restart | 1 | virsh edit VM1 | 1 2 | sh topology\_all.sh setvxlan sh topology\_all.sh ct | 1 | sh run.sh | 1 | vnstat \-l | 1 | sh run\_8VM.sh | 1 | sh run\_3\_4VM.sh | 1 | watch \-d \-n 1 ovs\-appctl dpif\-netdev/pmd\-rxq\-show | 1 | vnstat \-l | 1 | pkill netperf | 1 | sh bw\_8VM.sh | 1 | watch \-d \-n 1 ovs\-appctl dpif\-netdev/pmd\-rxq\-show | 1 | vnstat \-l |
| 1 | service openvswitch start |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| 1 | ovs\-vsctl \-\-no\-wait set Open\_vSwitch . other\_config:dpdk\-init=true other\_config:dpdk\-socket\-mem="4096" other\_config:dpdk\-lcore\-mask="0x3" other\_config:pmd\-cpu\-mask="0x2" |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| 1 | service openvswitch restart |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| 1 | virsh edit VM1 |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| 1 2 | sh topology\_all.sh setvxlan sh topology\_all.sh ct |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| 1 | sh run.sh |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| 1 | vnstat \-l |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| 1 | sh run\_8VM.sh |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| 1 | sh run\_3\_4VM.sh |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| 1 | watch \-d \-n 1 ovs\-appctl dpif\-netdev/pmd\-rxq\-show |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| 1 | vnstat \-l |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| 1 | pkill netperf |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| 1 | sh bw\_8VM.sh |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| 1 | watch \-d \-n 1 ovs\-appctl dpif\-netdev/pmd\-rxq\-show |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| 1 | vnstat \-l |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| 预期结果 | 同CPU多次测试结果误差不超过10% |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| 测试结果 | 软卸载：167.98Wpps ovs+dpdk：100.97Wpps |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| 备 注 | \- |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
