Réglez MAXDOP pour de meilleures performances - AWS Conseils prescriptifs

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Réglez MAXDOP pour de meilleures performances

Le degré maximal de parallélisme (MAXDOP) est une option de configuration de serveur permettant d'exécuter SQL Server sur plusieurs serveurs. CPUs Il contrôle le nombre de processeurs utilisés pour exécuter une seule instruction dans le cadre de l'exécution parallèle d'un plan. La valeur par défaut est 0, ce qui permet à SQL Server d'utiliser tous les processeurs disponibles. Cela peut affecter les performances et n'est pas optimal pour la plupart des cas d'utilisation.

Suivez les instructions suivantes lorsque vous configurez la valeur MAXDOP pour SQL Server.

Nœuds NUMA Processeurs logiques Valeur MAXDOP
Unique ≤ 8 4, 2 ou nombre de cœurs (pour un ou deux cœurs)
Unique > 8 8, 4 ou 2
Plusieurs ≤ 16 8, 4 ou 2
Plusieurs > 16 16, 8, 4 ou 2
Note

Le réglage de MAXDOP sur 2, 4 ou 8 fournit généralement les meilleurs résultats dans la plupart des cas d'utilisation. Nous vous recommandons de tester votre charge de travail et de surveiller les types d'attente liés au parallélisme, tels que. CXPACKET

Vous pouvez utiliser la requête suivante pour recueillir la configuration NUMA actuelle pour SQL Server 2016 et les versions ultérieures :

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

où :

  • cpu_countfait référence au nombre de logiques CPUs dans le système.

  • hyperthread_ratioest le rapport entre le nombre de cœurs exposés par un processeur physique.

  • softnuma_configurationest 01, ou 2 :

    • 0 (OFF): par défaut

    • 1 (automated): Soft-NUMA

    • 2 (manual): Soft-NUMA

  • softnuma_configuration_descest OFFON, ou MANUAL :

    • OFFindique que la fonction Soft-numa est désactivée.

    • ONindique que SQL Server décide automatiquement de la taille des nœuds NUMA.

    • MANUALindique que Soft-NUMA est configuré manuellement.

  • socket_countest le nombre de sockets du processeur.

  • numa_node_countest le nombre de nœuds NUMA disponibles dans le système.

Pour vérifier la valeur MAXDOP actuelle, utilisez :

$ sp_configure 'max_degree_of_parallelism'

Pour plus d'informations sur MAXDOP, consultez la documentation Microsoft SQL Server.