在VMware主机内扩展 – 添加vCPU或虚拟机?

我们有一个在两台VMware ESX主机上托pipe的ASP.NET MVC站点。 每个主机有两个带有四核CPU的插槽(每个主机8个逻辑核心)。 我们在每个主机上有两个虚拟机。 最初,每个主机只分配一个vCPU。

我们将每个主机的vCPU增加到2个,然后是4个,在每个阶段我们的负载testing中平均吞吐量增加了30%。 该应用程序是CPU绑定的 – 没有太多的caching(RAM)和很less的磁盘活动。

我想知道如果我们有更多的CPU和更less的CPU,我们是否应该期待不同的结果。 我已经读了一些关于ESX如何调度vCPU的内容,看起来如果有更多的vCPU和更less的虚拟机,调度开销可能会让我们失望。

例如,我们应该使用2个vCPU的4个虚拟机吗? 我们通过调整VM计数与vCPU计数来调整资源瓶颈。

我认为用更less的虚拟机和更多的vCPU会更好一些 – 并不是所有的应用程序都像你的一样增长,事实上这是相当奢侈的,我希望我做到了:)

基本上不用担心vCPU调度,直到你开始看到一个实际的问题,然后变得复杂。