如何在ESXi中使用多核guest虚拟机来投影/测量物理主机等待

我听说如果ESXi下有一个具有N个虚拟内核的guest虚拟机,那么pipe理程序会等待主机上共有N个逻辑处理器同时可用,然后再将这些客户机的工作委托给硬件。 因此,build议您非常仔细地考虑增加X核心的客户,除非您确实需要处理周期,因为您会增加等于X的等待时间,并且您希望确保您通过添加vcpus获得的收益超过这个延迟的成本。

在极端情况下,假设ESXi主机hA和hB具有相同的硬件和configuration,并且每个guest虚拟机都有一个guest虚拟机(分别为gA和gB),guest虚拟机除了gA具有1个虚拟CPU并且gB具有2个以外是相同的。如果在两台主机上放置相同的(不可并行的)工作负载,则应该“更快”地竞争任务。

  1. 这个proc等待延迟是否真实? 可以通过VMWare文档确认吗?
  2. 如果它是真实的(并且从提供的文档中不明显),是否有公式来衡量客户vcpu的提前影响提前? 衡量延迟已经具有什么样的真实世界影响的工具?

– 如果这个问题完全相关,引发这个问题的现实世界问题是我们有一个MS SQL Server 2014,它有四个内核,平均每天运行60%的容量,定期达到100%,我们正在进行内部辩论至于把客户增加到6核心还是8核心来缓解我们正在经历的一些性能问题是否明智。 主机有(我不知道型号,只有规格)双核英特尔hexcore在2.6GHz瓦特/超线程 – 所以每个主机24个逻辑核心。

超线程在于核心数量的提升。 你没有24核心,你有12个。虽然,我会感觉好一点,完全使用这些超线程的客户12核心。

当客人跨过节点的大小时,访问远程CPU或RAM时将产生NUMA效果。 对于那些hex核心套接字,肯定是通过vCPU 8.这些也适用于没有虚拟机pipe理程序的物理服务器上的操作系统。 考虑到ESXi和MS SQL的规模要大得多,pipe理可能性很大。 只要知道收益递减。

如果存在调度偏差, 则 VM的所有vCPU都将停止运行的严格协同调度自ESX 2以来尚未使用 。 宽松的协同调度更多的是每个vCPU决策。 您可以通过esxtop中的%CSTP来测量CPU是否比其他CPU进步更多。

无论调度器是什么,为了获得最大的吞吐量和最小的延迟,请不要超额订购vCPU。 那些双核六核可以得到总共12个vCPU的客户。 当你有一些专门的客人,没有等待空闲的CPU。

有很多糟糕的VMwarebuild议,并且已经失去了最佳实践。

甚至连VMware公司的网站也因为SEO不佳而推出了过时的解决scheme。

但是评估这种方法的正确方法是使用像vSphere Realize Operations Manager(vROPs)这样的工具根据您的实际活动来获取推荐尺寸。

否则,只需增加和testing影响。 转到5个vCPU并测量。 然后6个vCPU …等等

此外,阅读技术深潜书籍之一,以更好地了解资源分配: https : //www.amazon.com/gp/product/1540873064


例:

在这里输入图像说明