1或2个vCPU之间的vCPU性能

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

不足以产生影响。 这些调整是更多的许可。 例如,Windows Server是按照处理器插槽授权的,所以您需要支付更多的费用才能拥有1个核心和4个CPU,而不是拥有1个CPU和4个核心。

其他产品的成本也随着更多的处理器迅速增加(看着你,甲骨文)。

简答:可能没有你会注意到的。

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

如果你的机器只有一个或两个处理器的话,NUMA对你来说不会是个问题,但是为了完整起见,我还是想提一提。

虽然这里应该没有什么区别,但是在使用单核多插槽仿真时(例如,4个vCPU被映射为4个插槽,单核,单线程),我的基准testing结果显示,Windows guest虚拟机有一点(但干净的)性能提升。 。 虽然Linux的客人没有明显的差异。

testing是在KVM上完成的,使用Windows 2003R2和2008R2 guest虚拟机以及RHEL5和RHEL6 guest虚拟机。 我的猜测是Windows试图做一些额外的调度技巧,要么擅长多个套接字或在多个核心失败。

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

在一个套接字上的多个内核与多个套接字的组合之间没有显着的性能差异,如果启用或需要虚拟机的CPU热添加function( 假设您拥有企业版或更高版本的许可证 ),则在操作上稍有不同。

对于CPU热添加,您可以以插槽为单位添加,而不是以核心为单位添加…所以如果您有一个带有4个内核的单个插槽,则vSphere中的CPU热添加操作将带您到两个插槽和8个内核。

另外,如果你有两个2核心sockets,热添加会带你到三个sockets和6个核心。

请参阅: 在VMware ESXi 5.x中,如果select2个CPU核心与2个CPU插槽,是否有所帮助?