Vmware cpu为spiking数据库服务器分配

我有一个数据库服务器与许多写得不好的查询,导致SQL服务器飙升,然后不断下降(从头开始大规模的开始)。 我需要知道,如果需要扩展虚拟机上的CPU分配是这样的情况下最好的做法。 我想知道,如果esxi平台不能像尖峰发生一样迅速扩大。

我很好奇什么是在SQL Server上的CPU分配的最佳做法(与可怕的书面查询)

观察,调整并尝试调整虚拟机的大小。

这是你所能做的。

对于dynamic增加额外的CPU资源而言,VMware没有自动缩放的概念,但是虚拟机将会使用你提供的内容。 这里没有“资源的扩张”。

例如,如果您分配2个2.8GHz的虚拟CPU,则虚拟机的正常CPU需求将在50MHz和5600MHz之间。 实时观察系统,看看它是如何反应,并从那里。

CPUpipe理是相当实时的。 实际上CPU时间被分成20ms量子(iirc)。 所以只要有足够的闲置的CPU,事情将会相对良好。

在数据库服务器和其他虚拟机之间出现争用的情况下,有人会赢,有人会输。

你可以玩几个因素:最小,最大和股份。 如果您不希望数据库打扰其他机器,可以给它较低的CPU份额,或给它一个最大的CPU时间。 如果您希望数据库具有较高的优先级,则可以给它一个最小的预留CPU时间或较高的份额。

另一个build议是不要给VM太多的vCPU,因为这可能会产生反作用。 在最坏的情况下,即使有空闲的物理CPU,系统也可能无法调度虚拟机。 您可能会注意到这一点,因为性能图表中的“共同停止”值很高。

另外,如果您拥有DRS许可证,则可以为数据库虚拟机提供一些最小的CPU预留量,以便系统尝试在具有足够的备用CPU的ESXi上对该计算机进行调整。

考虑实施诸如vCenter Operations Manager之类的东西,以便更好地理解这些高峰和低谷,并将其包含在select包中。 这就是说,如果你预先超额分配CPU,那么实际上就没什么不好了。