为什么vCPU不是越多越好?

责任编辑:editor006

作者:Stephen J. Bigelow

2015-04-20 14:27:15

摘自:TechTarget中国

虚拟机性能取决于配置的合理性—确保虚拟机获得足够多的时钟周期、内存空间以及IO带宽。资源配置的目标是为虚拟机分配足够多的计算资源以使其能够正常运转,但这并不意味着要过度分配计算资源。

虚拟机性能取决于配置的合理性—确保虚拟机获得足够多的时钟周期、内存空间以及IO带宽。当配置错误或者计算需求增加导致虚拟机出现资源紧张状况时,虚拟机性能及稳定性可能会受影响。很多IT管理员为虚拟机配置了过多的计算资源,以确保在处理峰值请求时不会存在资源短缺情况。尽管过量配置通常没有什么坏处,但存在资源浪费。然而,存在过度配置vCPU实际上会对虚拟机性能带来不利影响的情况。

资源配置的目标是为虚拟机分配足够多的计算资源以使其能够正常运转,但这并不意味着要过度分配计算资源。资源过度分配是一种浪费,就CPU而言,过度分配可能会影响虚拟机性能。

问题出在调度上,hypervisor必须调度vCPU的计算资源供虚拟机使用。当虚拟机使用一个vCPU时并不存在冲突,但当虚拟机使用的多个vCPU分布在两个或多个核心上时,hypervisor必须在两个或多个物理处理之间进行调度。这意味着hypervisor及其正在调度的虚拟机必须等待不同物理处理器核心的响应。

如果虚拟机针对对称多处理器(SMP)而设计,那么没什么问题,而且hypervisor厂商像VMware提供了SMP附加组件,允许SMP工作负载高效、成功地调度并使用多个vCPU。

但是对于没有专门针对SMP设计的常见的单线程工作负载,虚拟机的工作负载可能会浪费时间等待hypervisor对多个vCPU进行调度,这肯定会降低虚拟机性能。在这种情况下,为虚拟机配置一个vCPU实际上能够提升工作负载的性能。管理员必须擅长为工作负载分配vCPU并识别出vCPU资源分配不合理的情况。

链接已复制,快去分享吧

企业网版权所有©2010-2025 京ICP备09108050号-6京公网安备 11010502049343号