Recommandations pour l'exécution de SQL Server sur des ordinateurs comportant plus de 64 unités centrales

Cette rubrique fournit des informations sur les meilleures pratiques lorsque vous exécutez une instance de SQL Server sur des ordinateurs comportant plus de 64 unités centrales.

Affectation de threads de matériel avec des unités centrales

N'utilisez pas les options de configuration du serveur affinity mask et affinity64 mask pour lier les processeurs à des threads spécifiques. Ces options sont limitées à 64 unités centrales. Utilisez ALTER SERVER CONFIGURATION (Transact-SQL) à la place.

Gestion de la taille du fichier journal de transactions

Ne comptez pas sur la croissance automatique pour augmenter la taille du fichier journal de transactions. L'augmentation du journal de transactions doit être un processus série. L'extension du journal peut empêcher la poursuite d'opérations d'écriture de transactions jusqu'à ce que l'extension du journal soit terminée. Pré-allouez plutôt l'espace des fichiers journaux en définissant leur taille avec une valeur suffisamment élevée pour prendre en charge la charge de travail habituelle de l'environnement.

Configuration du degré maximal de parallélisme pour les opérations d'index

Les performances d'opérations d'index telles que la création ou la reconstruction d'index peuvent être améliorées sur les ordinateurs qui ont de nombreuses unités centrales, en configurant temporairement soit le mode de récupération complet, soit le mode de récupération simple comme mode de récupération de la base de données. Ces opérations d'index peuvent générer une activité de journal significative et des conflits de journaux peuvent affecter le choix de meilleur degré de parallélisme (DOP) fait par SQL Server.

En outre, envisagez d'ajuster le paramètre de degré maximal de parallélisme (MAXDOP) pour ces opérations. Les indications suivantes, qui sont basées sur des tests internes, sont des recommandations générales. Vous devez tester plusieurs paramètres MAXDOP différents pour déterminer le paramètre optimal pour votre environnement.

  • Pour le mode de récupération complet, limitez la valeur de l'option Degré maximal de parallélisme à 8.

  • Pour le mode de récupération complet ou le mode de récupération simple, la définition d'une valeur supérieure à huit pour l'option Degré maximal de parallélisme doit être envisagée.

  • Pour les serveurs pour lesquels des nœuds NUMA sont configurés, le degré maximal de parallélisme ne doit pas dépasser le nombre d'unités centrales attribuées à chaque nœud NUMA. Cela est dû au fait que la requête utilisera plus probablement la mémoire locale d'un nœud NUMA, ce qui peut améliorer le temps d'accès à la mémoire.

  • Pour les serveurs multithreads fabriqués en 2009 ou avant, la valeur MAXDOP ne doit pas excéder le nombre de processeurs physiques.

Pour plus d'informations sur l'option max degree of parallelism, consultez Degré de parallélisme.

Configuration du nombre maximal de threads de travail

Définissez toujours le nombre maximal de threads de travail avec une valeur supérieure à celle du paramètre de degré maximal de parallélisme. Le nombre de threads de travail doit toujours être défini sur une valeur équivalant à au moins sept fois le nombre d'unités centrales qui sont présentes sur le serveur. Pour plus d'informations, consultez Option max worker threads.

Utilisation de SQL Trace et de SQL Server Profiler

Nous vous recommandons de pas ne pas utiliser SQL Trace et SQL Server Profiler dans un environnement de production. La surcharge induite par l'exécution de ces outils augmente également proportionnellement au nombre d'unités centrales. Si vous devez utiliser SQL Trace dans un environnement de production, limitez le nombre d'événements de trace au minimum. Profilez et testez avec soin chaque événement de trace sous charge et évitez d'utiliser des combinaisons d'événements qui affectent les performances de façon significative.

Configuration du nombre de fichiers de données tempdb

En général, le nombre de fichiers de données tempdb doit correspondre au nombre d'unités centrales. Toutefois, en prenant soigneusement en compte les besoins de concurrence de tempdb, vous pouvez réduire la gestion de la base de données. Par exemple, si un système comporte 64 unités centrales et qu'habituellement seules 32 requêtes utilisent tempdb, l'augmentation du nombre de fichiers tempdb à 64 n'améliorera pas les performances. Pour plus d'informations, consultez Optimisation des performances de la base de données tempdb.

Composants SQL Server qui peuvent utiliser plus de 64 unités centrales

Le tableau suivant dresse la liste des composants SQL Server et indique s'ils peuvent utiliser plus de 64 unités centrales.

Nom du processus

Programme exécutable

Utilisation de plus de 64 unités centrales

Moteur de base de données SQL Server

Sqlserver.exe

Oui

Reporting Services

Rs.exe

Non

Analysis Services

As.exe

Non

Integration Services

Is.exe

Non

Service Broker

Sb.exe

Non

Recherche en texte intégral

Fts.exe

Non

SQL Server Agent

Sqlagent.exe

Non

SQL Server Management Studio

Ssms.exe

Non

Programme d'installation de SQL Server

Setup.exe

Non