1 或 2 个 vCPU 之间的 vCPU 性能

1 或 2 个 vCPU 之间的 vCPU 性能

在虚拟化(主要是 VMware)中,使用 1 个 4 核 CPU 或 2 个 2 核 CPU 是否有性能优势?我们假设在 VM 上运行的应用程序可以使用两个 CPU。

答案1

还不足以产生影响。调整主要针对许可。例如,Windows Server 是按处理器插槽许可的,因此拥有 1 个核心和 4 个 CPU 比拥有 1 个 CPU 和 4 个核心要花费更多。

其他产品也是如此,随着处理器的增多,其成本也迅速上升(比如你,Oracle)。

答案2

简短的回答:您可能不会注意到。

长答案:也许吧。我首先想到的问题是现代 CPU 的运行速度比它们使用的主内存快得多。这是主要原因NUMA(非统一内存访问)被发明。同一块芯片上的 CPU(例如,同一芯片上的两个内核)将共享同一个 NUMA 节点……并且它们从这个节点访问内存的速度都比从另一个 NUMA 节点访问内存的速度快。因此,如果你正在构建一台拥有多个内核的计算机多个物理处理器时,请牢记 NUMA 节点位置。如果处理器必须访问较远的内存,则速度会较慢。

如果您的机器只有一两个处理器,NUMA 对您来说不是问题,但为了完整性,我还是想提一下。

答案3

在那里时不应该这里会有所不同,我的基准测试显示,在使用单核多插槽仿真时(例如,将 4 个 vCPU 映射为 4 个插槽、单核、单线程),Windows 客户机的性能略有提升(但仍然很清晰)。但在 Linux 客户机中没有明显差异。

测试是在 KVM 上进行的,使用 Windows 2003R2 和 2008R2 客户机以及 RHEL5 和 RHEL6 客户机进行 Linux 方面的测试。我猜 Windows 会尝试一些额外的调度技巧,这些技巧要么在多个插槽上表现出色,要么在多个核心上失败。

答案4

这里没有太大区别。核心/插槽指定的主要目的是为可能具有基于“物理”插槽或 CPU 核心数量的运行时或许可要求的软件提供选项(咳嗽,数据库……

单插槽多核与多插槽组合之间没有显著的性能差异,但如果你启用或需要虚拟机的 CPU 热添加功能,操作上会略有不同(只要您拥有企业版或更高级别的许可证)。

对于 CPU 热添加,您可以按插槽而不是核心的增量进行添加...因此,如果您有一个带有 4 个核心的单个插槽,则 vSphere 中的 CPU 热添加操作将带您获得两个插槽和 8 个核心。

或者,如果您有两个 2 核插槽,则热添加会为您带来三个插槽和 6 核。

看:在 VMware ESXi 5.x 中,如果我选择 2 个 CPU 核心而不是 2 个 CPU 插槽,会有什么区别吗?

相关内容