虚拟机虚拟机性能篇

虚拟机资源争抢配置

ZSvirt提供以下三类配置,以提升虚拟机资源争抢能力:

  • CPU NUMA绑定配置
  • EmulatorPin配置
  • CPU&内存资源优先级配置

CPU NUMA绑定配置

CPU NUMA绑定配置:将虚拟机的虚拟CPU(vCPU)与主机的物理CPU(pCPU)严格关联,可为虚拟机分配特定的pCPU,提高虚拟机性能。

如Figure 1所示:

虚拟机CPU绑定配置原理

若您存在以下两种业务场景,可考虑使用CPU绑定功能,以提升虚拟机性能:

  • CPU密集型小应用场景:

    CPU密集型应用对CPU资源需求旺盛,若大量CPU密集型小应用跑在虚拟机上,可能会出现CPU资源争抢的情况。CPU绑定将使各个应用运行在特定的物理CPU上,从而避免资源争抢,提高系统性能。

  • 多核CPU压力不均衡场景:

    针对多应用集中跑在一个或某几个CPU的情况,可通过CPU绑定手动按需调整各个CPU承压,实时生效。

您可参考以下步骤配置CPU绑定:

  1. 在目标虚拟机页面,点击关机将虚拟机关机。

  2. 点击修改配置操作,选择硬件信息 > CPU > 绑定CPU NUMA,按需选择一键智能绑定或手动绑定:

    • 一键智能绑定:按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进行绑定。
  • 若您设置了CPU超配,vCPU数量可能会大于pCPU数量。此时,建议vCPU数量不要大于绑定的pCPU数量,否则将大幅影响虚拟机性能。
  • 绑定 CPU NUMA 后,再修改虚拟机 CPU 核数时,将自动取消 CPU NUMA 绑定。
  1. 点击确定后,即可完成CPU NUMA绑定,可点击开机操作重新将虚拟机开机。

EmulatorPin配置

EmulatorPin配置:将虚拟机中除vCPU和IO线程外的其他线程与主机pCPU进行绑定,使虚拟机相关线程只运行在对应的pCPU上。

如Figure 2所示:

虚拟机EmulatorPin配置原理

若您存在以下业务场景,可考虑使用EmulatorPin:

  • 多业务并行场景:

    针对单台主机运行多台虚拟机业务场景,若每台虚拟机运行业务不同,会造成不同程度的资源占用。EmulatorPin通过将虚拟机QEMU主线程与pCPU绑定可实现不同虚拟机主要服务进程隔离,保证系统性能相对稳定。

您可参考以下步骤配置EmulatorPin绑定:

  1. 在目标虚拟机页面,点击更多操作 > 高级设置 > 修改其他设置,选择EmulatorPin:按照主机pNUMA结构将虚拟机中除vCPU和IO线程外的其他线程与主机pCPU进行绑定。
  2. 点击确定后,即可完成EmulatorPin绑定。

CPU&内存资源优先级配置

若虚拟机A与其他虚拟机共享主机A的CPU和内存资源,虚拟机A的业务重要性与优先级均比其他虚拟机高。在资源紧张情况下,例如主机负载率过高,这些虚拟机会出现争抢主机资源的现象。此时,可将虚拟机A的CPU资源优先级以及内存资源优先级设置为,其他默认为正常,以提高虚拟机A的资源抢夺能力。

您可参考以下步骤设置资源优先级:

  1. 在目标虚拟机页面,点击修改配置操作,选择硬件信息 > CPU > CPU资源优先级,按需选择优先级
  2. 点击确定后,即可完成资源优先级配置。

本页目录