HiveBrain v1.2.0
Get Started
← Back to all entries
patternsqlMajor

Why is SQL Server setup recommending MAXDOP 8 here?

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
whyheresqlrecommendingsetupservermaxdop

Problem

I'm running SQL Server 2022 RC1 setup on an AWS i3.16xlarge with 2 sockets, 2 NUMA nodes, 32 logical processors per node, 64 logical processors altogether.

Setup is recommending MAXDOP 8:

But if you click on that link for configuring MAXDOP, the recommendations say:

Based on that KB article, MAXDOP should be 16, not 8. Sure, technically 8 is less than 16 - but so is 2, or 4, or 15. Where's the 8 coming from?

After SQL Server installation finishes and the service starts up, the log shows that SQL Server is automatically implementing Soft-NUMA with 4 nodes, each with 16 logical processors:

So again, that indicates that MAXDOP should be 16.

Is this a bug, or did I miss something obvious? Is there another unwritten rule somewhere that setup will stop at MAXDOP 8?

Solution

Setup is recommending MAXDOP 8

Setup calculates the MAXDop as follows:

Step 1: Calculate Hardware NUMA and Soft NUMA
Step 2: Decide whether Hardware or Soft NUMA will be used
Step 3: Divide the total logical processors by the NUMA used
Step 4: If > 15 LPs/NUMA, MAXDop = (LPs/NUMA)/2, otherwise MAXDop = LPs/NUMA


In your specific case:

64 LPs total
HW NUMA = 2
Soft NUMA = 4


Soft NUMA will be used, 64 LPs/4 (Soft) = 16. 16 > 15, take 16 / 2 = 8.

Whether people agree with the extra /2 or not, given >15 LPs/NUMA is a discussion point. Regardless, that's what currently exists and does fit within the MSDN TechNet BOL Docs Learn article recommendations.

Code Snippets

Step 1: Calculate Hardware NUMA and Soft NUMA
Step 2: Decide whether Hardware or Soft NUMA will be used
Step 3: Divide the total logical processors by the NUMA used
Step 4: If > 15 LPs/NUMA, MAXDop = (LPs/NUMA)/2, otherwise MAXDop = LPs/NUMA
64 LPs total
HW NUMA = 2
Soft NUMA = 4

Context

StackExchange Database Administrators Q#319145, answer score: 21

Revisions (0)

No revisions yet.