在具有16个内核/处理器的2处理器计算机上使用SQL Server 2012时CPU使用率非常不均匀
在使用Server + Cal许可模型安装SQL Server Enterprise 2012之后,在一台具有2个处理器,每个处理器具有16个核(并且不涉及超线程)的计算机上,并使服务器承受极高的负载,第一个处理器上的16个核的利用率非常低,第二个CPU上的前4个核心被大量利用,而最后12个核心根本没有被使用(因为此sql服务器版本限制为20个核心)。总CPU利用率显示为25%左右。不幸的是,即使任务均匀地分布在20个内核上,服务器的性能也极差,它的表现不会差那么远。 Windows Server在ESX Server下的VMWare虚拟映像上运行,但是所有CPU都分配给了Windows服务器。 我们尝试更改相似性设置(例如,将大多数内核分配给CPU,将其他内核分配给I / O),但这无助于解决性能问题。 将产品版本升级到SQL Server Enterprise Core 2012,不仅允许SQL Server在第二个处理器上利用以前未使用的12个内核,而且还导致任务在所有处理器上的分配更加均匀。为了解决积压的请求,cpU利用率跃升至90%左右,一旦被追赶,则下降至33%左右,但是由于我们故障转移到新更新的版本,因此性能大大提高,并且性能问题消失了。 我想知道是否有人会导致SQL Server分配负载不均,几乎完全依赖于第二个处理器的前4个内核,而该处理器的12个内核处于空闲状态,而仅分配几个任务给第一个16个内核处理器。此外,是否有任何方法可以在不升级产品版本的情况下将负载更均匀地分配到所使用的20个内核上? 问题的另一面是,产品升级是什么导致SQL Server开始在它所识别的所有核心上平均分配负载? 感谢您对这些问题和/或链接的解答,这可能有助于我更好地理解如何理解正在发生的事情。