sql server 生产环境中如出现少量执行计划占用过高,导致整理业务缓慢卡顿的情况,并且计划任务又因业务问题暂无法优化时,可通过修改sql server的最大并行度进行限制调优。
官方说明:在 SQL Server 中配置“最大并行度 (MAXDOP)”服务器配置选项。 当 SQL Server 实例在具有多个微处理器或 CPU 的计算机上运行时,数据库引擎 会检测是否可以使用并行。 并行度为每次并行计划的执行设置运行单个语句时要使用的处理器数。 您可以使用 max degree of parallelism 选项来限制并行计划执行时所用的处理器数。
从 SQL Server 2016 (13.x) 开始,请使用以下准则配置“最大并行度”服务器配置值:
服务器配置 | 处理器数目 | 指南 |
---|---|---|
具有单个 NUMA 节点的服务器 | 小于或等于 8 个逻辑处理器 | 将 MAXDOP 保持为小于或等于逻辑处理器的数量 |
具有单个 NUMA 节点的服务器 | 大于 8 个逻辑处理器 | 将 MAXDOP 保持为 8 个 |
具有多个 NUMA 节点的服务器 | 每个 NUMA 节点拥有小于或等于 16 个逻辑处理器 | 将 MAXDOP 保持为小于或等于每个 NUMA 节点的逻辑处理器的数量 |
具有多个 NUMA 节点的服务器 | 每个 NUMA 节点大于 16 个逻辑处理器 | 将 MAXDOP 保持为每个 NUMA 节点逻辑处理器数量的一半,最大值为 16 |
官方参考链接:配置 max degree of parallelism 服务器配置选项 - SQL Server | Microsoft Docs