ovs-dpdk实践(1)--链路测试
程序员文章站
2022-07-07 14:06:41
...
- 测试环境
如何搭建ovs-dpdk环境,参考OvS-DPDK源码安装+实践的超完整教程- 两台ubuntu16.04.6-server虚拟机
- VM1: ovs2.9.0, DPDK17.11
- VM2: ovs2.11.0, DPDK18.11
- 虚拟机网络配置
- 三块网卡:NAT用于上外网,两张host-only用于测试
- Host-only网卡1:192.168.56.1/24
- Host-only网卡2:192.168.32.1/24
- 两台ubuntu16.04.6-server虚拟机
- 搭建测试网络拓扑
- 每个VM创建两个ovs网桥s1和s2,vm1和vm2的s1ip在同一网段,s2在同一网段
- vm1
s1: 192.168.56.10/24 s2: 192.168.32.10/24 - vm2
s1: 192.168.56.11/24 s2: 192.168.32.11/24
注意:# VM1 ovs-vsctl add-br s1 -- set bridge s1 datapath_type=netdev ovs-vsctl add-port s1 dpdk1 -- set Interface dpdk1 type=dpdk options:dpdk-devargs=0000:00:08.0 ofport_request=1 ovs-vsctl add-br s2 ovs-vsctl add-port s2 enp0s9 ifconfig s1 192.168.56.10/24 up ifconfig s2 192.168.32.10/24 up # 关闭防火墙 systemctl stop ufw.service # VM2 ovs-vsctl add-br s1 -- set bridge s1 datapath_type=netdev ovs-vsctl add-port s1 dpdk1 -- set Interface dpdk1 type=dpdk options:dpdk-devargs=0000:00:08.0 ofport_request=1 ovs-vsctl add-br s2 ovs-vsctl add-port s2 enp0s9 ifconfig s1 192.168.56.11/24 up ifconfig s2 192.168.32.11/24 up # 关闭防火墙 systemctl stop ufw.service
(1). enp0s9需要ifconfig up启动网卡,否则第二块网卡会ping不通。
(2). 在给Ovs网桥添加DPDK端口之前,先保证网卡已经绑定为DPDK端口。 - 使用iperf测试链路带宽
- vm2做客户端,vm1做服务端,客户端从s1和s2分别ping服务端的s1和s2
-i sec以秒为单位显示报告间隔,-t sec测试时间默认10秒,-c以client模式启动, host是server端地址。# vm1 iperf -s -i 1 # vm2 iperf -t 10 -i 1 -c 192.168.56.10 iperf -t 10 -i 1 -c 192.168.32.10
- 查看测试结果
- 使用非DPDK驱动的链路带宽
- 使用dpdk驱动的链路带宽
- 使用非DPDK驱动的链路带宽
- 结果分析
测试出来的结果和预期相反,使用DPDK驱动的速度比普通网卡速度要慢,相当于只有普通网卡的1/10。
可能是由于使用的虚拟机内存限制,cpu性能等导致测试结果不理想。
参考博客