Imposta MAXDOP per prestazioni ottimali - AWSGuida prescrittiva

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Imposta MAXDOP per prestazioni ottimali

Il massimo grado di parallelismo (MAXDOP) è un'opzione di configurazione del server per l'esecuzione di SQL Server su più CPU. Controlla il numero di processori utilizzati per eseguire una singola istruzione nell'esecuzione parallela del piano. Il valore predefinito è 0, che consente a SQL Server di utilizzare tutti i processori disponibili. Ciò può influire sulle prestazioni e non è ottimale per la maggior parte dei casi d'uso.

Utilizza le seguenti linee guida per configurare il valore MAXDOP per SQL Server.

Nodi NUMA Processori logici Valore MAXDOP
Singolo ≤ 8 4, 2 o numero di core (per uno o due core)
Singolo > 8 8, 4 o 2
Più di uno ≤ 16 8, 4 o 2
Più di uno > 16 16, 8, 4 o 2
Nota

L'impostazione di MAXDOP su 2, 4 o 8 in genere fornisce i migliori risultati nella maggior parte dei casi d'uso. Ti consigliamo di testare il carico di lavoro e di monitorare eventuali tipi di attesa legati al parallelismo, ad esempioCXPACKET.

È possibile utilizzare la seguente query per raccogliere la configurazione NUMA corrente per SQL Server 2016 e versioni successive:

select @@SERVERNAME, SERVERPROPERTY('ComputerNamePhysicalNetBIOS'), cpu_count, hyperthread_ratio, softnuma_configuration, softnuma_configuration_desc, socket_count, numa_node_count from sys.dm_os_sys_info

dove:

  • cpu_countsi riferisce al numero di CPU logiche nel sistema.

  • hyperthread_ratioè il rapporto tra il numero di core esposti da un processore fisico.

  • softnuma_configurationè0,1, oppure2:

    • 0 (OFF): impostazione predefinita

    • 1 (automated): Soft-Numa

    • 2 (manual): Soft-Numa

  • softnuma_configuration_descèOFF,ON, oppureMANUAL:

    • OFFindica che la funzione soft-NumA è disattivata.

    • ONindica che SQL Server decide automaticamente le dimensioni dei nodi NUMA.

    • MANUALindica che soft-numA è configurato manualmente.

  • socket_countè il numero di socket del processore.

  • numa_node_countè il numero di nodi NUMA disponibili nel sistema.

Per verificare il valore MAXDOP corrente, utilizzare:

$ sp_configure 'max_degree_of_parallelism'

Per ulteriori informazioni su MAXDOP, vedereDocumentazione Microsoft SQL Server.