找回密码
 立即注册
科技快报网 首页 科技快报 业界资讯 查看内容
游戏电视迈入3.0时代 京东携手行业合作伙伴推动新标准落地柏林国际电子消费品展览会强化与中国合作伙伴关系,凸显全球创新精神《战地6》免费周将至 华硕X870/B850主板开启限时体验华硕B860主板装机神器 带你围观TGA 2025游戏提名ROG MAXIMUS Z890 APEX主板创DDR5-13322超频新纪录共绘汽车产业全域升级新图景 2026腾易年度汽车盛典圆满落幕以数据为钥 东软解决方案论坛解锁智能世界新密码BOE(京东方)陈炎顺阐释企业发展战略升维路径:“传承、创新、发展”铸就基业长青超擎数智亮相 NVIDIA 中国开发者日2025,携手开发者,探索AI无限前景!智慧医疗里的“中国方案”:开源鸿蒙重塑传统病房体验天马以“创见·新境”开启显示新纪元,11项技术重塑显示行业格局索尼专业校色服务上线:一场由画质引领者发起的“色彩价值”革命海尔机器人与INDEMIND达成战略合作,突破空间智能泛化难关,共创家庭具身AI新生态京东11.11百吋电视销量突破6万台 “超级供应链”引领家电产业升级技术创新带来丰富体验,高通李俨:AI与6G的发展是相辅相成的当算力追逐遇上数据瓶颈:DRAM成AI价值链重构的战略中枢PA官网正式上线,科技企业推动竞技娱乐透明化让AI为我所用!不想用碎片时间学习如何借助AI实现自我提升“电影走着看,VR摸着玩”,龙程VR《星际旅客》全感剧场亮相2025高交会海马云与腾讯云签署战略合作协议 共建AIGC内容创作平台新生态

高性能云主机来啦!详解ZStack vNUMA功能

2022-07-27 11:09:14

云轴科技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通道来访问。这种物理结构决定了在访问远程内存的延迟会比访问本地内存更高。

image.png

图1  NUMA架构示例图

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

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

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

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

对于VM的CPU、内存以及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并生效,存在前提条件:

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

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

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

03 性能测试

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

3.1  配置与测试工具

物理机配置

image.png

ZStack Cloud云平台配置

image.png

测试工具

image.png

云主机配置

image.png

MySQL配置

image.png

3.1  配置与测试工具

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

image.png

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

image.png

图2  24C80G云主机vNUMA拓扑图

3.3 测试数据

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

image.png

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

image.png

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

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

image.png

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

image.png

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

3.4 结论

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

04 思考

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

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

  免责声明:本网站内容由网友自行在页面发布,上传者应自行负责所上传内容涉及的法律责任,本网站对内容真实性、版权等概不负责,亦不承担任何法律责任。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。

发布者:sophia

相关阅读

微信公众号
意见反馈 科技快报网微信公众号