当处理器时间低于30%时,SQL Server是否可能具有CPU瓶颈?

如果性能计数器处理器:处理器时间在所有内核上一直低于30%,原则上可能是CPU成为SQL Server上的瓶颈? 或者处理器时间低会自动让我排除CPU作为一个潜在的麻烦来源?

我在问这个问题,因为SQL Nexus列出了CPU处理器时间值低的服务器上的最大瓶颈。

在查询中有很多同步操作的情况下,即使CPU正在报告有空闲周期,CPU也可能成为瓶颈。 只有这么多的multithreading可以发生。 随着CPU核心数量的不断增加,你可能会看到这种情况。 关于唯一可以做的是获得更快的CPU内核,或者查看对查询/数据库可以做什么样的优化。

如果你的处理器队列长度很高,那理论上你可能会遇到一些CPU瓶颈。

要查找的东西是SQL等待时间。 有DMV可以播种你正在等待的系统。 看看布伦特·奥扎尔的网站了解更多细节。

要注意的事情:SQL服务器将(默认情况下)使用multithreading并行处理查询,预计需要超过10秒左右。 有时候这对于正在执行的查询types是不恰当的,而且你得到的CX_WAIT时间非常高 – 不同的线程需要相互通话和同步。 通过将此值设置得更高(在服务器上)或通过查询提示,您可以获得更好的吞吐量(每秒更多事务,即使每个事务需要更长的时间)。 (详情请见Google)

你的查询是否有很多复杂的string操作? 还是CLRfunction?

SQL是最有可能被磁盘绑定,然后RAM的速度绑定在纯粹的CPU之前。