Comment puis-je consulter les statistiques NUMA pour ma charge de travail exécutée sur des instances EC2 ?

Lecture de 4 minute(s)
0

J'exécute ma charge de travail sur des instances basées sur Amazon Elastic Compute Cloud (Amazon EC2) Nitro. Je souhaite examiner les statistiques relatives aux performances et à l'accès non uniforme à la mémoire (NUMA).

Brève description

Les facteurs suivants affectent les performances d'une application hébergée sur une instance EC2 :

  • La surutilisation du processeur
  • L’utilisation de la mémoire
  • Le volume EBS
  • Les statistiques du réseau
  • Si l'application n'est pas compatible avec NUMA

Dans l'architecture NUMA, chaque processeur a accès à sa propre mémoire assignée, connue sous le nom de mémoire locale. Chaque processeur peut également accéder à la mémoire allouée à d'autres processeurs, appelée mémoire étrangère. Si les applications hébergées sur vos instances ne sont pas compatibles avec NUMA, l'accès à la mémoire étrangère entraîne des coûts supplémentaires et peut affecter les performances. Contactez le fournisseur de l'application pour vérifier si votre application est compatible avec NUMA.

Résolution

Consulter les statistiques de NUMA

Remarque : Pour consulter les composants de performance autres que les statistiques NUMA, consultez la rubrique Comment résoudre les problèmes de lenteur des connexions à un site Web hébergé sur mon instance EC2 ?

Pour consulter les statistiques NUMA, procédez comme suit :

  1. Exécutez la commande suivante pour vérifier si le type d'instance se trouve dans un seul nœud NUMA ou dans plusieurs nœuds NUMA.

**Remarque :**Le type d'instance est r5.16xlarge et possède 2 nœuds NUMA.

lscpu | grep -i numa
NUMA node(s): 2
  1. Exécutez la commande suivante pour installer le package numactl :
sudo yum install numactl
  1. Exécutez la commande suivante pour examiner la topologie NUMA :
sudo numactl -H

Dans l'exemple de sortie suivant, la topologie NUMA est divisée en deux nœuds, le nœud 0 et le nœud 1. Le nœud 0 dispose de 32 processeurs et 255 225 Mo de mémoire qui lui sont assignés. Le nœud 1 possède l'autre moitié des processeurs et 254 924 Mo de mémoire assignée. La distance entre les nœuds indique les temps de latence lors de l'accès aux pages de mémoire depuis l'autre nœud.


available: 2 nodes (0-1)
node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
node 0 size: 255140 MB
node 0 free: 254794 MB
node 1 cpus: 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
node 1 size: 255225 MB
node 1 free: 254924 MB
node distances:
node   0   1
0:  10  21
1:  21  10

4.    Exécutez la commande suivante pour vérifier les statistiques de NUMA :

sudo numastat

Voici un exemple de sortie de la commande :

node                       node0           node1
numa_hit                  314825          288025
numa_miss                      0               0
numa_foreign                   0               0
interleave_hit             37958           37620
local_node                311752          248476
other_node                  3073           39549

Pour une explication détaillée de chaque statistique, consultez A.11. NUMASTAT sur le portail client Red Hat.

Des augmentations des statistiques numa_foreign et numa_miss peuvent indiquer que l'application exécutée sur l'instance EC2 n'est pas compatible NUMA. Cela peut affecter les performances. Pour résoudre ce problème, désactivez NUMA au niveau du grub. Vous pouvez également essayer de lier l'application à un nœud NUMA spécifique. Pour plus d'informations, consultez la rubrique Optimisations du système d'exploitation.

Éteindre définitivement NUMA

Pour désactiver définitivement NUMA sur Amazon Linux 2, CentOS7 ou RHEL 7, exécutez les commandes suivantes :

sudo vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="numa=off"
sudo grub2-mkconfig -o /etc/grub2.cfg
sudo reboot

Pour désactiver définitivement NUMA sur Amazon Linux 2023, exécutez la commande suivante :

# grubby --args "numa=off" —update-kernel DEFAULT
AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an