详解ZStack 高性能网络方案以及性能对比测试

来源:搜狐网 2022-07-04

从写下第一行代码开始,云轴科技ZStack 始终秉持着 4S (Simple、Strong、Scalable、Smart) 的产品理念,这样的思想同样体现在 ZStack 虚拟网络方案上。

Linux Bridge 网络架构简单可靠,且能满足绝大部分应用场景,长久以来都是 ZStack 平台默认的方案。但随着云轴科技 ZStack 客户体量不断增长,默认的网络方案逐渐无法满足部分客户的需求。为了应对需求的变化,云轴科技 ZStack 先后推出了 SR-IOV 方案和高性能网络方案。

01 ZStack 网络方案

1.1 主流网络方案

目前主流的网络方案分为两大类:

以 Linux Bridge 为基础,使用 Linux 内核协议栈,架构简单且稳定可靠,也是 ZStack 平台默认的网络方案;

以 OVS 为基础,采用虚拟交换机的形式,支持 OpenFlow 协议,自由灵活,搭配 DPDK 可获得不俗的性能,ZStack 高性能网络方案就是以 OVS-DPDK 基础实现的。

两种方案各有千秋,选择合适的应用场景才能发挥最佳的作用。本文将介绍 ZStack 平台支持的 4 类网络方案,并通过测试对比其性能差异。

1.1.1 Linux Bridge 方案:功能性较好,但网络性能一般

以 Linux Bridge 为基础,集成多项网络服务,使用通用的 virtio 驱动,稳定可靠,具体如下图所示:

image.png

图1 Linux Bridge网络方案

该方案理论性能一般,满足通用场景,功能性较好,支持热迁移和多项网络服务。

1.1.2 SR-IOV 方案:网络性能较好,但功能性较差

SR-IOV 是 PCIe 协议的扩展,它允许设备,例如网卡,将对其资源的访问划分成多个 PCIe functions。ZStack 通过 pci-passthrough 将 VFs (virtual functions) 透传到虚拟机中,以达到最佳的网络性能,具体方案如图2所示:

image.png

图2 SR-IOV网络方案

该方案理论上拥有最佳的网络性能,但是功能性较差,例如:要求网卡支持 SR-IOV、无法热迁移、受限于 VFs 数量等。

1.2 ZStack高性能网络方案

云轴科技ZStack 推出的高性能网络方案以 OVS-DPDK 为基础,主要有以下两种实现方式:

1.2.1 dpdkvhostuser 方案:以消耗CPU资源实现高性能

采用标准的 OVS-DPDK 方案,以消耗 CPU 资源为代价换取优秀的网络性能;目前支持 Intel x710 系列以及 mellanox cx-5/cx6 网卡。方案如下图所示:

image.png

图3 dpdkvhostuser 方案

该方案理论性能优秀,且功能性较好,同样支持热迁移和部分网络服务。

1.2.2 software vDPA 方案:借助智能网卡中特定vDPA 模块实现高性能

在标准的 OVS-DPDK 方案的基础上,借助智能网卡中特定的 vDPA 模块,减少 CPU 资源消耗;目前仅支持 mellanox cx-5/cx6 网卡。

image.png

图4 software vDPA 方案

该方案理论性能优秀,功能性一般,支持热迁移,但是同样受限于 VFs 数量。

02 测试目标与方法

通过在相同的两台物理机上切换 ZStack 网络方案进行压力测试,验证不同网络方案下的性能表现。

2 .1 测试模型

image.png

图5 测试模型

2 .2 DUT 配置

服务器硬件配置

image.png

ZStack 平台配置

image.png

vm 配置

image.png

vpp 配置

image.png

2.3 TRex 配置

硬件配置同 DUT 硬件配置

测试软件版本及测试参数

image.png

2.4 测试方法

使用相同的服务器硬件和虚拟机配置,改变虚拟网络方案,通过 TRex 进行 UDP 小包测试,DUT 中使用 vpp 做路由转发避免 kernel 瓶颈;逐渐增加测试压力,直至开始出现丢包,记录测试数据及当前环境配置,并进行分析。

CPU 资源消耗情况;

零丢包 pps。

2.5 测试数据

image.png

可以看出高性能网络方案,即 dpdkvhostuser 和 vDPA 方案,以及 SR-IOV 方案相比默认的 Linux Bridge 方案性能提升显著;在不进行额外调优的情况下,SR-IOV 方案性能最佳。

2.6 结论

1.功能性及灵活性上 Linux Bridge >= dpdkvhostuser > software vDPA > SR-IOV;

2.网络性能上 SR-IOV > software vDPA > dpdkvhostuser > Linux Bridge;

3.高性能网络方案带来的性能提升以消耗 CPU 作为代价,而 vDPA 方案得益于智能网卡加速模块相比 dpdkvhostuser 方案可节约部分 CPU 资源;

4.SR-IOV 性能最佳,但是其局限性较大,例如,无法热迁移、要求虚拟机安装对应的网卡驱动等。

03 延伸思考

1.该测试使用的是 10Gb 光模块,因此光模块限制了性能的上限;测试环境(除 pmd-CPU 数外)均由 ZStack 平台默认配置,若增加 CPU 隔离,vNUMA 配置等优化手段,可以进一步提升;

2.虽然 Linux Bridge 和 SR-IOV 方案不需要使用单独的 pmd-CPU 资源,但并不意味着宿主机接收网络包时不用消耗 CPU 资源,事实上宿主机内核收包 CPU 将收到大量软中断;

3.ZStack 高性能网络方案,在设计上考虑到了以往的用户使用习惯,使用逻辑与以往相似,降低学习成本,快速上手;

4.dpdkvhostuser 和 software vDPA 方案各有优劣,dpdkvhouser 虽然消耗更多 CPU,但是使用条件更宽松;software vDPA 使用条件则更为苛刻,使用时可酌情选择。


类型:广告
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
发布
X
第三方账号登录
  • 微博认证登录
  • QQ账号登录
  • 微信账号登录

企业俱乐部