返回
详解ZStack 高性能网络方案以及性能对比测试
2022-07-04 23:09

从写下第一行代码开始,云轴科技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 驱动,稳定可靠,具体如下图所示:

图片

图1  Linux Bridge网络方案

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

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

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

图片

图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 网卡。方案如下图所示:

图片

图3  dpdkvhostuser 方案

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

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

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

图片

4  software vDPA 方案

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


02、测试目标与方法

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

2 .1 测试模型

图片

5  测试模型


2 .2 DUT 配置

服务器硬件配置

硬件部件

配置

备注

CPU

Intel(R) Xeon(R) Gold 5218 CPU @2.30GHzNUMA node0 0-15,32-47NUMA node1 16-31,48-63


内存

256GB


管理网络

ntel Corporation Ethernet Controller X710 for 10GbE SFP+ (rev 02)

10G 光模块

测试网络

Mellanox Technologies MT2892 Family [ConnectX-6 Dx]

10G 光模块

ZStack 平台配


详情

软件版本

4.4 develop

vm 配置

硬件部件

配置

备注

CPU

8 Cores

host-passthrough

内存

8 GB


网卡

depends on virt net type

multi-queues=8

OS

CentOS 7.6


vpp 配置

cpu

main-core: 0corelist-workers: 1-7

dpdk

num-rx-queues 8num-tx-queues 8


2.3 TRex 配置

硬件配置同 DUT 硬件配置

测试软件版本及测试参数


备注

软件版本

v2.81

测试脚本

./t-rex-64 -f cap2/imix_64_fast.yaml -m [xxxx] -d 120


2.4 测试方法

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

●CPU 资源消耗情况;

●零丢包 pps。


2.5 测试数据

网络方案

pmd CPU使用情况

零丢包 pps

Default Linux Bridge

N/A

0.80 Mpps

dpdkvhostuser

2

2.29 Mpps

4

4.4 Mpps

6

6.3 Mpps

8

8.4 Mpps

software vDPA

2

3.0 Mpps

4

5.8 Mpps

6

8.3 Mpps

8

10 Mpps

SR-IOV

N/A

8.3 Mpps

可以看出高性能网络方案,即 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 使用条件则更为苛刻,使用时可酌情选择。

升级提醒

若您选择升级至4.0.0及之后版本,请注意以下功能调整:

1. 云路由器全面升级为VPC路由器,云路由网络全面升级为VPC网络,不再单独设云路由器页面。升级全程无感知,相关业务不受任何影响。

2. 企业管理账号体系取代用户组与用户,不再单独设用户/用户组页面,不可再使用用户/用户组账号登录云平台。升级前,请先将“用户组与用户”纳管的账号数据妥善迁移至“企业管理”纳管,再执行升级操作。注意:对于admin创建并具备admin权限的用户账号同步取消,如有需要,可使用企业管理账号体系中的平台管理员实现相同功能。

3. 调整AD/LDAP与账户的对接管理方式,统一由企业管理纳管,不再单独设AD/LDAP页面。升级前,请先将“账户”对接纳管的AD/LDAP账号数据妥善迁移至“企业管理”纳管,再执行升级操作。

如对上述升级提醒有任何疑问或需要升级帮助,请联系ZStack官方技术支持

下载ZStack企业版

您已填写过基本信息?点击这里

姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

下载链接将会通过邮件形式发送至您的邮箱,请谨慎填写。

下载ZStack企业版

还未填写过基本信息?点击这里

邮箱或手机号码格式错误
验证手机号
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
登录观看培训视频
仅对注册用户开放,请 登录 或 填写资料 观看培训视频
填写资料

商务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

商务联系:

sales@zstack.io
ZStack认证培训咨询
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

商务咨询:

400-962-2212 转 1

商务联系:

channel@zstack.io
申请ZStack多机版
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

商务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

商务联系:

sales@zstack.io
立即咨询
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

商务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

商务联系:

sales@zstack.io
培训认证合作伙伴申请
姓名应该不少于2个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
邮箱格式错误
城市名称不应该少于2个字符
公司名称不应该少于4个字符
职位名称不应该少于2个字符

商务咨询:

400-962-2212 转 1

商务联系:

channel@zstack.io
ZStack&工信人才联合证书申请
已获得ZStack原厂证书
未获得ZStack原厂证书
请填写您的基本信息
姓名应该不少于2个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
邮箱格式错误
城市名称不应该少于2个字符
公司/学校名称不应该少于4个字符
证书类型
ZCCT
ZCCE
ZCCA
ZCPC-ISP
申请ZStack&工信人才联合证书须支付工本费,是否可以接受

商务咨询:

400-962-2212 转 1

商务联系:

channel@zstack.io

下载链接已发送至您的邮箱。

如未收到,请查看您的垃圾邮件、订阅邮件、广告邮件。 当您收到电子邮件后,请点击 URL 链接,以完成下载。

下载链接已发送至您的邮箱。

如未收到,请查看您的垃圾邮件、订阅邮件、广告邮件。
或点击下方URL链接 (IE内核浏览器请右键另存为), 完成下载:

感谢您使用 ZStack 产品和服务。

成功提交申请。

我们将安排工作人员尽快与您取得联系。

感谢您使用 ZStack 产品和服务。

信息提交成功。

我们将安排工作人员尽快与您取得联系,请保持电话畅通。

感谢您使用 ZStack 产品和服务。

产品咨询

扫码立即线上沟通

联系我们

产品咨询
400-962-2212 转 1
售后咨询
400-962-2212 转 2

联系我们

回到顶部

产品试用申请
请选择您要试用的产品
ZStack Cloud 企业版
ZStack Cloud 混合云版
ZStack Cloud 基础版
ZStack Cloud 标准版
请填写您的基本信息
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

商务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

商务联系:

sales@zstack.io

成功提交申请。

我们将安排工作人员尽快与您取得联系。

感谢您使用 ZStack 产品和服务。