虚拟机性能篇
若业务要求虚拟机具备一些特性,例如具备较强的计算资源争抢能力,您可通过ZStack Cube 虚拟化版提供的相关虚拟机配置实现,以提升虚拟机性能。
您可在新建虚拟机时进行设置,也可对已有虚拟机修改对应配置进行设置。本节假定您已新建了若干台虚拟机。
相关虚拟机配置包括:
虚拟机资源争抢配置
ZStack Cube 虚拟化版提供以下三类配置,以提升虚拟机资源争抢能力:
CPU NUMA绑定配置
CPU NUMA绑定配置:将虚拟机的虚拟CPU(vCPU)与主机的物理CPU(pCPU)严格关联,可为虚拟机分配特定的pCPU,提高虚拟机性能。
如图 1所示:图 1. 虚拟机CPU绑定配置原理


若您存在以下两种业务场景,可考虑使用CPU绑定功能,以提升虚拟机性能:
- CPU密集型小应用场景:
CPU密集型应用对CPU资源需求旺盛,若大量CPU密集型小应用跑在虚拟机上,可能会出现CPU资源争抢的情况。CPU绑定将使各个应用运行在特定的物理CPU上,从而避免资源争抢,提高系统性能。
- 多核CPU压力不均衡场景:
针对多应用集中跑在一个或某几个CPU的情况,可通过CPU绑定手动按需调整各个CPU承压,实时生效。
您可参考以下步骤配置CPU绑定:
- 在目标虚拟机页面,点击关机将虚拟机关机。
- 点击修改配置操作,选择,按需选择一键智能绑定或手动绑定:
- 一键智能绑定:按pNUMA节点ID从大到小的顺序,将该虚拟机vCPU与pNUMA节点中pCPU一对一绑定。当一个pNUMA节点中pCPU均已被该虚拟机vCPU绑定,将依序绑定下一个pNUMA节点中的pCPU。若所有pCPU均已被绑定,但仍有vCPU未绑定pCPU,将轮询至首个绑定的pNUMA节点继续一对一绑定。
- 手动绑定:手动将vCPU按照主机pNUMA拓扑绑定pCPU,所有vCPU均需绑定。
- 一个vCPU支持绑定一个或多个pCPU,同时一个pCPU支持被一个或多个vCPU绑定。单个vCPU所绑定的pCPU均需在一个pNUMA节点中。
- 支持展示各个pCPU过去15分钟平均使用率,助力选择最佳pCPU进行绑定。
Note:- 若您设置了CPU超配,vCPU数量可能会大于pCPU数量。此时,建议vCPU数量不要大于绑定的pCPU数量,否则将大幅影响虚拟机性能。
- 绑定 CPU NUMA 后,再修改虚拟机 CPU 核数时,将自动取消 CPU NUMA 绑定。
- 点击确定后,即可完成CPU NUMA绑定,可点击开机操作重新将虚拟机开机。
EmulatorPin配置
EmulatorPin配置:将虚拟机中除vCPU和IO线程外的其他线程与主机pCPU进行绑定,使虚拟机相关线程只运行在对应的pCPU上。
如图 2所示:图 2. 虚拟机EmulatorPin配置原理


若您存在以下业务场景,可考虑使用EmulatorPin:
- 多业务并行场景:
针对单台主机运行多台虚拟机业务场景,若每台虚拟机运行业务不同,会造成不同程度的资源占用。EmulatorPin通过将虚拟机QEMU主线程与pCPU绑定可实现不同虚拟机主要服务进程隔离,保证系统性能相对稳定。
您可参考以下步骤配置EmulatorPin绑定:
- 在目标虚拟机页面,点击,选择EmulatorPin:按照主机pNUMA结构将虚拟机中除vCPU和IO线程外的其他线程与主机pCPU进行绑定。
- 点击确定后,即可完成EmulatorPin绑定。
CPU&内存资源优先级配置
若虚拟机A与其他虚拟机共享主机A的CPU和内存资源,虚拟机A的业务重要性与优先级均比其他虚拟机高。在资源紧张情况下,例如主机负载率过高,这些虚拟机会出现争抢主机资源的现象。此时,可将虚拟机A的CPU资源优先级以及内存资源优先级设置为高,其他默认为正常,以提高虚拟机A的资源抢夺能力。
您可参考以下步骤设置资源优先级:
- 在目标虚拟机页面,点击修改配置操作,选择,按需选择优先级
- 点击确定后,即可完成资源优先级配置。
虚拟机CPU特性配置
ZStack Cube 虚拟化版提供CPU模式配置功能,可用于设置虚拟机CPU型号与主机CPU型号一致性,从而继承主机部分或全部的CPU特性,以满足特定业务需求。
虚拟机CPU模式简介
ZStack Cube 虚拟化版支持以下CPU模式设置:
- 无(默认):虚拟机CPU型号由QEMU模拟而成,较小范围内继承所在主机CPU 的特性,迁移场景时推荐设置该模式。
- 兼容:虚拟机CPU 型号与主机CPU型号接近或一致,例如:都显示为Haswell Intel CPU。相比无模式,该模式下,虚拟机可继承所在主机CPU较多特性,可用于迁移场景。aarch架构集群和虚拟机暂不支持该设置。
- 直通:虚拟机CPU型号与所在主机CPU型号一致。同时,虚拟机CPU特性与主机CPU特性一致,例如:都支持扩展页表、大页内存以及虚拟化等。相比无、兼容和自定义模式,该模式继承的主机CPU特性最多,适用于对虚拟机功能有较高要求的业务场景。
- 自定义(某一特定CPU型号):虚拟机将配置为该自定义CPU型号。自定义CPU型号后,虚拟机可能具备与之前自定义型号不同的CPU特性。
配置虚拟机CPU模式
ZStack Cube 虚拟化版提供虚拟机粒度和集群粒度两级粒度设置。生效优先级为:虚拟机粒度>集群粒度。本节以虚拟机单独粒度设置为例进行介绍:
- 在目标虚拟机页面,点击关机按钮将虚拟机关机。
- 点击修改配置操作,选择,按需选择所需的CPU模式。
- 点击确定后,即可完成CPU模式配置,可点击开机按钮重新将虚拟机开机。
虚拟机QoS配置
QoS通过设定IO带宽阈值来解决网络延迟和阻塞等问题。当网络过载或拥塞时,QoS能确保业务量不被延迟或丢弃,同时保证网络的高效运行。
硬盘QoS
您可参考以下步骤配置硬盘QoS:
- 在目标虚拟机页面,点击修改配置操作,选择,打开QoS限速开关,即可为硬盘n(例如硬盘1)配置QoS。硬盘QoS支持配置带宽限制与IOPS限制,打开开关后,至少需配置其中一种限制:
- 带宽限制:设置硬盘每秒的读写速度上限,基本单位包括:MB/s、GB/s。建议该值不要设过小,避免导致虚拟机工作异常。
- 总速度:设置硬盘的读写总速度上限。
- 读写速度:单独设置读速度和写速度上限。
- IOPS限制:设置硬盘每秒的读写次数上限。
- 总IOPS:设置硬盘的读写总IOPS上限。
- 读写IOPS:单独设置读速度和写IOPS上限。
- 带宽限制:设置硬盘每秒的读写速度上限,基本单位包括:MB/s、GB/s。建议该值不要设过小,避免导致虚拟机工作异常。
- 点击确定后,即可完成硬盘QoS配置。
网络QoS
您可参考以下步骤配置硬盘QoS:
- 在目标虚拟机页面,点击修改配置操作,选择,打开QoS限速开关,即可为网卡n(例如网卡1)配置QoS。QoS支持配置发送带宽和接收带宽,基本单位包括:Kbps、Mbps、Gbps。打开开关后,至少需配置其中一种带宽:
- 发送带宽:从虚拟机上传的网络带宽上限
- 接收带宽:从虚拟机下载的网络带宽上限
- 点击确定后,即可完成网络QoS配置。
