web-dev-qa-db-fra.com

SQL Server a détecté 2 sockets avec 4 cœurs par prise, mais un seul nœud NUMA

Nous avons une instance SQL Server 2012 SP 2 CU 8 dans un hôte VMware. Le système d'exploitation est Windows Server 2012 R2.

Windows Task Manager dit que nous avons deux sockets et 8 noyaux virtuels. Ce numéro correspond au matériel actuel sous l'invité.

Task Manager socket and core count

Dans le gestionnaire de tâches, je ne peux pas non plus changer la vue sur les nœuds numa.

Still no NUMA nodes

Dans SQL Server, un seul noeud numa à voir SQL Server NUMA config

Aussi cet extrait de la requête de diagnostics Glen Berrys me donne cette information

EXEC sys.xp_readerrorlog 0, 1, N'detected', N'socket';

SQL Server a détecté 2 sockets avec 4 cœurs par prise et 4 processeurs logiques par socket, 8 processeurs logiques totaux; Utilisation de 8 processeurs logiques basés sur la licence SQL Server. Ceci est un message informatif; Aucune action de l'utilisateur n'est requise.

À partir de toutes ces informations, je peux soupçonner que nous ne courons qu'un seul noeud numa, mais sur deux prises.

Mes questions:

  1. Est-ce correct que nous ne courons qu'un seul noeud numa?
  2. Cela peut-il faire mal à la performance même lorsque tout est situé sur un nœud Numa?
  3. Quel composant dicte exactement les limites numiques? Par exemple. Si j'ai une carte mère de deux socket avec deux processeurs Intel E5, la carte mère dicte le nombre de nœuds numa que j'ai ou le processeur.

Je pense qu'il y a beaucoup de malformations sur les nœuds numa. Si quelqu'un peut répondre à ma question ou signaler une ressource utile qui explique ce concept en détail qui serait vraiment apprécié.

7
Hans Vader

Les deux articles suivants indiquent clairement que VMware présentera une configuration de Numa virtuelle au système d'exploitation optimale. En conséquence, le nombre de sockets configurés sur le VM est plus ou moins non pertinent quant au nombre de nœuds numa. Si le matériel réel a au moins 8 nœuds dans un nœud NUMA, puis vmware Ne présentera qu'un noeud numa à un invité qui dispose de 8 processeurs, quel que soit le nombre de socket de la machine virtuelle.

CorePersocket affecte-t-il les performances?

Autorisation de la machine virtuelle VCPU et VNUMA - Règles de pouce

Détermination des limites Numa Node pour les processeurs modernes Contient deux devis utiles qui montrent que, même sur le matériel, le nombre de sockets n'est pas toujours égal au nombre de nœuds numa:

Lorsque nous avons initialement fait cette analyse, les processeurs multicœurs courants étaient à double noyau ou au plus grand noyau. Sur ces puces, les fabricants de matériel ont divisé les limites NUMA en cœurs, plutôt que des sockets. Mais il semble que cette configuration ne soit pas la même pour les puces plus grandes multi-noyau (6, 12, etc.).

et

En bref, ne supposez pas que vos limites NUMA sont divisées en cœurs - cela dépend beaucoup de votre architecture spécifique de la CPU.

J'ai également couru sur un article de TechNet, Soft-Numa (SQL Server) , indiquant que chaque prise est d'habitude représenté par un nœud numa, mais cela n'explique pas quand ce ne serait pas.

Vous pouvez également vérifier le BIOS du matériel pour vous assurer que Numa est activé. Je serais surpris si c'était handicapé, mais j'ai appris à travers ma carrière pour ne jamais supposer que quelqu'un n'a pas fait quelque chose de complètement irrationnel.

Réponses à vos questions:

  1. Compte tenu des preuves à portée de main, oui, car SQL Server et Windows vous indiquent qu'il n'existe qu'un seul nœud NUMA, et nous avons une documentation à partir de sources de VMware, il présentera la configuration VNUMA optimale à l'invité, qui sera un Numa. Noeud Tant que l'invité est configuré avec moins de ou égal à la quantité de noyaux dans les prises de matériel et que le nombre de sockets présentés à l'invité est sans importance.
  2. Si l'architecture du système indique à l'OS qu'il existe un nœud NUMA, il existe un nœud NUMA et c'est le meilleur car tous les processeurs utilisent la même mémoire. S'il s'agissait en fait de deux nœuds numa, mais SQL Server n'en verse qu'un, puis oui, cela aurait une incidence sur la performance pour tout ce qui fonctionne parallèlement.
  3. L'architecture de la CPU, qui, à son tour, dicte l'architecture de la carte mère. Sur VMS, la configuration numa présentée à l'invité est déterminée par l'hôte de virtualisation (VMware, Hyper-V, etc.).
4
Tony Hinkle