返回
高性能云主机来啦!详解ZStack vNUMA功能
2022-07-28 17:10

图片


云轴科技ZStack创建的云主机适用于绝大部分的应用场景,但随着云轴科技ZStack用户数量的不断增长,更多用户提出了高性能云主机的需求。为满足高性能云主机需求,云轴科技ZStack此前为云主机提供了手动配置CPU绑定和vNUMA的接口,但需要用户了解其中原理并且手动分配物理机资源才能进行配置,操作门槛较高。因此ZStack Cloud云平台在4.3.12版本上升级了原有的vNUMA配置方法,带来了全新的智能vNUMA(virtual NUMA)功能。


01、什么是NUMA架构

NUMA(Non-uniform memory access、非统一内存访问)架构是一种为多处理器电脑设计的内存架构,内存访问时间取决于内存相对于处理器的位置。NUMA架构通过对CPU和内存资源分组,引入了本地内存和远程内存。访问本地内存可以直接通过当前node的内存控制器,但是远程内存就需要通过inter-connect通道来访问。这种物理结构决定了在访问远程内存的延迟会比访问本地内存更高。

1-640 (1).png

图1  NUMA架构示例图


ZStack Cloud云平台创建的VM通过操作系统的调度策略,会尽量让同一个VMCPU、内存资源保持在同一个NUMA node上,当出现资源非常紧张,或者CPU、内存规格不合理导致操作系统难以分配资源的情况时,可能会因为NUMA内存访问带来的内存访问延迟而导致VM性能下降。

市面上的一些IaaS软件也提供了vNUMA配置功能,但限制较多:

  • 需要手动设置vCPU绑定,且VM资源优先绑定在物理机同一个NUMA node上;

  • 对VM的CPU数量有要求并且不支持手动绑定到物理机NUMA node上。

对于VMCPU、内存以及vNUMA node资源与物理机上对应资源,均无法查看两者之间的绑定关系。过去版本的ZStack Cloud云平台也提供了vNUMA配置接口,但需要用户手动规划云主机的vCPU和内存区域如何与物理机上CPU和内存区域绑定,并且手动配置vCPU绑定、vNUMA拓扑等,这一系列流程对于用户来说操作难度较大。

基于上述原因,ZStack Cloud云平台在4.3.12版本上优化了vNUMA配置流程,带来了全新的智能vNUMA功能。


02、ZStack智能vNUMA配置

ZStack 智能vNUMA方案是基于现有的CPU绑定功能拓展而来。基于云主机使用的vCPU和物理机pCPU的绑定关系自动生成与物理机NUMA拓扑一致的云主机 vNUMA拓扑,即根据vCPU pin pCPU的绑定关系,透传pCPU所在的物理机NUMA拓扑信息作为云主机的vNUMA拓扑(NUMA拓扑一致性)。

要开启vNUMA并生效,存在前提条件:

  • 云主机所有的vCPU均绑定了物理机CPU;

  • 云主机的单个vCPU绑定的多个pCPU不能分别属于物理机上多个NUMA node。例如vCPU 0绑定了物理机上NUMA node 0中的CPU 0以及NUMA node 1中的CPU16,由于vCPU 0可能运行在物理机NUMA node 0 或者node 1上,具有不确定性,故而无法开启vNUMA;

  • 配置vNUMA后需要重启才能生效ZStack智能vNUMA方案在原先允许手动配置CPU绑定的基础上提供了智能绑定,可以自动地将vCPU按照1:1的比例绑定到pCPU上,降低了用户操作的难度。后续只需要用户开启vNUMA开关,启动云主机时各个vNUMA node的内存大小会根据云主机内存大小以及各个vNUMA node中vCPU数量的比例来自动分配,并且自动配置云主机的vNUMA 拓扑信息。云主机启动成功后即可在ZStack Cloud云平台页面上查看vNUMA拓扑与物理机NUMA拓扑之间的绑定关系,让用户更加直观地了解云主机的vCPU和内存与物理机CPU和内存的对应关系

微信图片_20220728180725.png

03、 性能测试

通过在相同的两台物理机上创建相同规格的云主机,进行MySQL性能测试,验证vNUMA开启与关闭状态下的性能表现。

3.1  配置与测试工具

物理机配置

3-640 (1).png


ZStack Cloud云平台配置

4-640 (1).png


测试工具

5-640 (1).png


云主机配置

6-640 (1).png


MySQL配置

7-640 (1).png


3.1  配置与测试工具

使用相同的服务器硬件、云主机规格以及MySQL版本,使用HammerDB在数据库MySQL写入1000个warehouse的测试数据。然后其中一台云主机开启vNUMA,配置如表1所示,并在MySQL配置文件中设置innodb_numa_interleave=1。最后使用HammerDB测试MySQL性能并记录。

8-640 (1).png

表1 开启vNUMA的云主机的配置情况


9-640 (1).png

图2  24C80G云主机vNUMA拓扑图

3.3 测试数据

MYSQL TPM(Transaction Per Minute)性能对比图表:

10-640 (1).png

表2 MYSQL TPM(Transaction Per Minute)性能对比图表

11-640 (1).png

图3  vNUMA启用前后MySQL TPM性能对比图表

MySQL NOPM(New Order Per Minute)性能对比图表:

12-640 (1).png

MySQL NOPM(New Order Per Minute)性能对比图表

13-640 (1).png

图4   vNUMA启用前后MySQL NOPM性能对比图表

3.4 结论

vNUMA功能启用后,MySQL性能提升明显,平均提升约为15%,在测试压力较大时性能可以提升18%,提升更明显。


04、 思考

1、本次测试未做CPU isolate、物理机上的内核进程以及中断等,仍然可以在已经被绑定的pCPU上运行,可能会影响到pCPU的性能。

2、本次测试中物理机未启用大页内存,启用大页内存可以减少操作系统对页面状态的维护,并且能够提升Translation Lookaside Buffer(页面缓冲,TLB)的命中率,启用大页内存通常对数据库有性能提升的作用。


升级提醒

若您选择升级至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 产品和服务。