Évitez les incohérences entre les cœurs du processeur - 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.

Évitez les incohérences entre les cœurs du processeur

Le choix d'un serveur doté d'un nombre de cœurs supérieur à celui couvert par votre licence peut entraîner une distorsion du processeur et une perte de puissance du processeur. Cela est dû au mappage entre les cœurs logiques et réels. Lorsque vous utilisez SQL Server avec une licence d'accès client (CAL), certains planificateurs le seront VISIBLE ONLINE et les autres le seront VISIBLE OFFLINE également. Cela peut entraîner des problèmes de performances avec les topologies d'accès non uniforme à la mémoire (NUMA), car les nœuds du planificateur ne sont pas utilisés de manière optimale.

Par exemple, si vous exécutez SQL Server sur une m5.24xlarge instance, il détectera deux sockets à 24 cœurs et 48 processeurs logiques par socket, soit un total de 96 processeurs logiques. Si vous avez une licence pour 48 cœurs uniquement, un message similaire au suivant s'affichera dans le journal des erreurs de SQL Server :

2020-06-08 12:35:27.37 Server SQL Server a détecté 2 sockets avec 24 cœurs par socket et 48 processeurs logiques par socket, soit 96 processeurs logiques au total ; en utilisant 48 processeurs logiques basés sur les licences SQL Server. Il s'agit d'un message d'information ; aucune action de l'utilisateur n'est requise.

Si vous constatez une différence entre le nombre total de cœurs et le nombre de cœurs utilisés par SQL Server, vérifiez le déséquilibre d'utilisation du processeur ou utilisez un type de serveur doté du même nombre de cœurs que celui pris en charge par votre licence.

Déséquilibre du processeur : pour le type d'instance décrit dans notre exemple (m5.24xlarge), SQL Server crée huit nœuds NUMA par défaut. Seuls quatre de ces nœuds (ID de nœud parent 0,1,2,3) ont des planificateurs avec le statut. VISIBLE ONLINE Les horaires restants sont tousVISIBLE OFFLINE. Cette disparité entre les planificateurs peut entraîner une dégradation des performances.

Pour vérifier les informations et le statut du planificateur, utilisez :

$ select * from sys.dm_os_schedulers

Si vous souhaitez utiliser une instance de serveur dotée d'un nombre de cœurs supérieur à celui pris en charge par votre licence SQL Server, pensez à personnaliser le nombre de cœurs en suivant les instructions de la section Spécification des options de processeur pour votre instance dans la EC2 documentation Amazon.