这是来自数据中心客户的真实需求
一份“干货满满”的测试报告
好啦,让我们用测试数据来证明~
1、测试目标在同样的测试环境,有以下两种场景时:
▣ “Overlay功能运行在服务器”
▣ “Overlay功能卸载至交换机”
相同VXLAN和不同VXLAN的VM间通信的过程中,服务器PPS、虚机的发包速度、发送时延等服务器处理性能的变化情况。
*该测试场景中Overlay的功能仅包括VXLAN的封装和去封装(即VTEP功能)。
2、测试方案的物理网络拓扑

图1:物理网络拓扑
部署过程中所涉及到的设备、接口及管理网口的IP地址如下表:

表1:设备IP地址列表
3、硬件与软件环境部署环境中涉及到的硬件和软件如下:

表2:硬件环境

表3:软件环境
4、测试思路和测试结果
相同VXLAN的VM间通信
Overlay功能卸载前后的服务器处理性能对比
(☟点击图片查看大图~)

图2:相同VXLAN的VM间通信组网图
▌测试思路:
❶ 在Server1和Server2中分别创建2个虚拟机,它们都属于同一个VXLAN,为每一个虚拟机绑定一个核。❷ Server1中的两个虚拟机用内核自带的pktgen模块进行发包,Server2的2个虚拟机进行收包。
❸ 将Overlay运行在服务器内:
a、通过pktgen造10000个不同源MAC地址的包;
b、接着设置发包大小,分小包和大包两个测试阶段;
c、然后设置发包数量为1000万个;
d、最后让Server1中的VM-11、VM-12分别向Server2中VM-21、VM-22单向发包;
e、通过调整发包间隔,在刚好不丢包的状态下,记录发送包的总时长;
f、计算平均PPS。
❹ 将Overlay功能卸载至可编程交换机中,服务器内仅运行轻量级的二层网络功能:
a、测试思路与第❸步相同。
❺ 对比“Overlay功能运行在服务器内”和“Overlay功能卸载至交换机中”的两种场景下的实验结果,得出结论。
▌测试结果:
Overlay功能运行在服务器内

Overlay功能卸载至可编程交换机中

▌结果分析:发送包长为64字节小包或1024字节大包,Overlay功能卸载后与卸载前的服务器处理性能在发包速度、延时、PPS、OVS对服务器CPU的占用率等方面的对比如下表:

注:百分比 = |卸载前 - 卸载后| / 卸载前
从结果分析表格中可以得出:
✤ 相同VXLAN的VM间通信,发送数据包的包长为64字节或1024字节时,在发送数据包的总数量一定,且保证不丢包的情况下,Overlay功能从服务器中卸载至交换机上能从多方面提升服务器处理性能:
1、虚拟机的发包间隔缩短了40%;
2、从发端到收端的整个通信过程用时缩短了40%;
3、服务器网卡上的PPS提升了65%-70%。
✤ 在未对OVS进行资源限制时,OVS对计算服务器CPU的占用率在Overlay功能卸载前后基本保持不变。
不同VXLAN的VM间通信
Overlay功能卸载前后的服务器处理性能对比
(☟点击图片查看大图~)、

图3:不同VXLAN的VM间通信组网图
▌测试思路:
❶ 在Server1和Server2中分别创建2个虚拟机,VM-11和VM-12属于一个VXLAN,VM-12和VM-22属于一个VXLAN,为每一个虚拟机绑定一个核。
❷ Server1中的2个虚拟机用内核自带的pktgen模块进行发包,Server2的2个虚拟机进行收包。
❸ 将Overlay运行在服务器内:
a、通过pktgen造10000个不同源MAC地址的包;
b、接着设置发包大小,分小包和大包两个测试阶段;
c、然后设置发包数量为1000万个;
d、最后让Server1中的VM-11、VM-12分别向Server2中VM-21、VM-22单向发包;
e、通过调整发包间隔,在刚好不丢包的状态下,记录发送包的总时长;
f、计算平均PPS。
❹ 将Overlay功能卸载至可编程交换机中,服务器内仅运行轻量级的二层网络功能:
a、测试思路与第❸步相同。
❺ 对比“Overlay功能运行在服务器内”和“Overlay功能卸载至交换机中”的两种场景下的实验结果,得出结论。
▌测试结果:
Overlay功能运行在服务器内

Overlay功能卸载至可编程交换机中

▌结果分析:
发送包长为64字节小包或1024字节大包时,Overlay功能卸载后与卸载前的服务器处理性能在发包速度、延时、PPS、OVS对服务器CPU的占用率等方面的对比如下表:

注:百分比 = |卸载前 - 卸载后| / 卸载前
从结果分析表格中可以得出:
✦ 不同VXLAN的VM间通信,发送数据包的包长为64字节或者1024字节时,在发送数据包的总数量一定,且保证不丢包的情况下,Overlay功能从服务器中卸载至交换机上能从多方面提升服务器处理性能:
1、虚拟机的发包间隔缩短了40%;
2、从发端到收端的整个通信过程用时缩短了38%;
3、服务器网卡上的PPS提升了60%。
✦ 在未对OVS进行资源限制时,OVS对计算服务器CPU的占用率在Overlay功能卸载前后基本保持不变。
5、总结
在数据中心中,将运行在服务器内的Overlay功能卸载至交换机上,能为服务器处理性能带来多方面的同步提升:首先 ,有效缩短业务的发包间隔,提升业务流发送速度,降低报文发送时延;其次 ,有效降低业务端到端的整个通信过程的总时延,缩短业务的响应时间,进而提升用户体验;最后 ,有效提升服务器上网卡上的PPS值,大幅增加服务器网卡的吞吐量,提升数据中心网络性能。
需要注意的是:
Overlay功能无论是运行在服务器内还是卸载至交换机上,因为服务器的CPU处理速度存在瓶颈,如果VM的发包速度过快,会出现丢包。
当OVS中的转发规则过多,匹配时间就会较长,在刚开始发包的几秒内会出现丢包现象。
申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!