SQL Server - 低CPU工作负载但等待任务

时间:2017-02-08 09:52:15

标签: sql-server sql-server-2016

我们有一个带有8个CPU内核和32GB内存的SQL Server 2016。用户时不时地抱怨我们的应用程序很慢,但我们永远无法理解它。所以我试图找到可能的弱点。

SQL Server的CPU工作负载大部分时间为1%-20%。 但有时我有30-50个等待任务。

这可能是个问题吗?

  • MAXDOP设置为0(使用所有核心)
  • 并行度的成本阈值设置为5

Here are my wait statistics

我的CXPACKET是否等到很高?我应该更改MAXDOP和阈值设置吗? 或者你会说我的SQL Server看起来很健康吗?

1 个答案:

答案 0 :(得分:0)

可能是CPU的io你是否使用了自动处理器Affinity CPU和IO?或者您是手动处理亲和力吗?

许可的CPU核心数是多少?

您是否有关于每个独立CPU的内存使用率和处理器使用率百分比的统计信息?

最后是的IO将是驱动器上的最后一个问题,你的文件组是否包含与MaxDop x2一样多的文件?

MAXDOP可以限制为单个CPU中的核心数量是标准建议。此外,在并行化之前,parellelizim默认为5成本(不再是有效默认值)之前的最低成本应该会转移到50到200之前的成本高级设置。

您是否为Windows操作预留了一个核心,如果SSIS / SSAS也使用了一个或多个核心,和/或是否未检查提升SQL服务器优先级?