SQL Server Check

Max degree of parallelism

This is one of many SQL Server checks performed by our free sp_Check tools.

Learn More About Our sp_check Tools

Checks Performed

ID
Check
702
MAXDOP at default or 1

What’s the issue?

Max degree of parallelism (MAXDOP) is an instance level setting that limits how many CPU cores a single query can use when SQL Server chooses a parallel execution plan. The default value of 0 means SQL Server may use all available logical processors for a parallel query, which on modern servers with many cores is rarely optimal. The opposite extreme, MAXDOP set to 1, disables parallelism entirely and forces every query to run serially regardless of size or complexity.

Why is this a problem?

When MAXDOP is 0 on a server with many cores, large queries can grab every available processor, causing severe contention with other workloads, excessive CXPACKET waits, and uneven performance across concurrent queries. NUMA based hardware suffers further because SQL Server must coordinate workers across memory nodes, adding latency.

When MAXDOP is set to 1, SQL Server cannot use parallelism for any query, which often crushes performance for analytical queries, large index maintenance operations, and any workload that benefits from spreading work across cores. MAXDOP of 1 is sometimes recommended for specific applications such as older versions of SharePoint or Dynamics, but applying it broadly to a general purpose instance is almost always a mistake.

What should you do about this?

Check the current value with EXEC sp_configure ‘max degree of parallelism’; and review the server’s CPU and NUMA configuration. Microsoft’s general guidance for most workloads is to set MAXDOP based on the number of logical processors per NUMA node: for servers with 8 or fewer logical processors per node, set MAXDOP to that count, and for servers with more, start at 8 and tune from there. Apply the change with EXEC sp_configure ‘max degree of parallelism’, ; RECONFIGURE;. The setting takes effect immediately.

If the instance hosts a vendor application that explicitly requires MAXDOP 1, isolate that workload to its own instance rather than crippling parallelism server wide, or use Resource Governor or query level OPTION (MAXDOP 1) hints to limit only the affected queries. Always tune MAXDOP alongside cost threshold for parallelism, since the two settings work together to govern parallel query behavior.

Read more…

Server Configuration: max degree of parallelism – SQL Server | Microsoft Learn

Type

Performance

Importance

Medium

sp_Checks