返回
详解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

其他(漏洞提交、投诉举报等)

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

同意 不同意

我已阅读并同意云轴科技 《法律声明》《隐私政策》用户管理规则及公约

业务咨询:

400-962-2212 转 1

商务联系:

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

同意 不同意

我已阅读并同意云轴科技 《法律声明》《隐私政策》用户管理规则及公约

业务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

其他(漏洞提交、投诉举报等)

400-962-2212 转 3
立即咨询
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

同意 不同意

我已阅读并同意云轴科技 《法律声明》《隐私政策》用户管理规则及公约

业务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

其他(漏洞提交、投诉举报等)

400-962-2212 转 3
培训认证合作伙伴申请
姓名应该不少于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
其他业务(漏洞提交、投诉举报等)
400-962-2212 转 3

联系我们

回到顶部

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

商务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

商务联系:

sales@zstack.io

成功提交申请。

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

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