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