我们在两台 VMware ESX 主机上托管了一个 ASP.NET MVC 站点。每个主机都有两个带四核 CPU 的插槽(每个主机 8 个逻辑内核)。我们在每台主机上有两个虚拟机。最初,每台主机只分配了一个 vCPU。
我们将每台主机的 vCPU 增加到 2 个,然后增加到 4 个,在每个阶段,我们的负载测试都测得吞吐量平均增加了 30%。该应用程序受 CPU 限制 - 缓存 (RAM) 不多,磁盘活动也很少。
我想知道如果我们有更多的虚拟机和更少的 CPU,我们是否应该期待不同的结果。我一直在阅读一些关于 ESX 如何调度 vCPU 的文章,看起来随着更多的 vCPU 和更少的虚拟机,调度开销可能会阻碍我们。
例如,我们是否应该使用带有 2 个 vCPU 的 4 个虚拟机?通过调整 VM 数量与 vCPU 数量,我们到底在交易哪些资源瓶颈?
我认为使用更少的虚拟机和更多的 vCPU 会更好 - 并不是所有的应用程序都像你的一样增长,事实上这是一种奢侈,我希望我的能做到 :)
在您开始看到实际问题之前,基本上不要担心 vCPU 调度,然后它会变得复杂。