SQL Server 性能问题(CXPACKET 等待类型)

Sam*_*Sam 5 performance sql-server optimization sql-server-2012 wait-types

我的生产 SQL Server 2012 有一个性能问题,它有 24 个内核和 32 GB 的 RAM。从等待类型我可以看到 CXPACKET 基于以下 SQL Server 指标位于顶部,我应该减少 MAXDOP 还是“并行的成本阈值”以避免更多的并行并减少 CXPACKET 等待类型?

任何帮助,将不胜感激。

在此处输入图片说明

Tho*_*ter -1

普遍共识似乎倾向于将并行度的成本阈值设置为 50,然后从那里开始。\n为什么并行度的成本阈值应设置为 5\xe2\x80\x99t

\n\n

这甚至包括 VMWare 关于使用 vSphere 设置 SQL Server 的官方建议。《在 VMware vSphere\xc2\xae 上构建 Microsoft SQL Server》指南的第 4.5 节指出:

\n\n
\n

默认值为 5,通常被认为太低。[...] 建议将 CTFP 值从 5 秒增加到大约 50 秒,以确保仅并行运行大型查询。根据 Microsoft\xe2\x80\x99s 建议的 VM\xe2\x80\x99s NUMA 节点中的核心数(不超过 8 个)设置 MAXDOP。

\n
\n\n

对单位“秒”的使用应持保留态度,因为在现代系统和 SQL Server 版本上,它不会反映以秒为单位的实际持续时间。

\n\n

关于 MAXDOP,这里有一个全面的指南:配置最大并行度

\n\n

因此,对于您的情况,我将从以下设置开始并进行测试:

\n\n

并行度的成本阈值:50

\n\n

最大并行度:8

\n