Chapitre 18. Création d'un profil de performance
Découvrez le Performance Profile Creator (PPC) et la manière dont vous pouvez l'utiliser pour créer un profil de performance.
Actuellement, la désactivation de l'équilibrage de la charge du CPU n'est pas prise en charge par cgroup v2. Par conséquent, il se peut que vous n'obteniez pas le comportement souhaité des profils de performance si vous avez activé cgroup v2. L'activation de cgroup v2 n'est pas recommandée si vous utilisez des profils de performance.
18.1. À propos du créateur de profil de performance Copier lienLien copié sur presse-papiers!
Le Performance Profile Creator (PPC) est un outil en ligne de commande, fourni avec le Node Tuning Operator, utilisé pour créer le profil de performance. L'outil utilise les données must-gather
de la grappe et plusieurs arguments de profil fournis par l'utilisateur. Le PPC génère un profil de performance adapté à votre matériel et à votre topologie.
L'outil est exécuté selon l'une des méthodes suivantes :
-
Invoquer
podman
- Appel d'un script wrapper
18.1.1. Collecte de données sur votre cluster à l'aide de la commande must-gather Copier lienLien copié sur presse-papiers!
L'outil Performance Profile Creator (PPC) nécessite des données must-gather
. En tant qu'administrateur d'une grappe, exécutez la commande must-gather
pour obtenir des informations sur votre grappe.
Dans les versions antérieures d'OpenShift Container Platform, l'opérateur Performance Addon permettait de régler automatiquement les performances des applications à faible latence. Dans OpenShift Container Platform 4.11 et les versions ultérieures, cette fonctionnalité fait partie de l'opérateur Node Tuning. Cependant, vous devez toujours utiliser l'image performance-addon-operator-must-gather
lors de l'exécution de la commande must-gather
.
Conditions préalables
-
Accès au cluster en tant qu'utilisateur ayant le rôle
cluster-admin
. -
Accès à l'image de l'opérateur Performance Addon
must gather
. -
L'OpenShift CLI (
oc
) est installé.
Procédure
Facultatif : Vérifiez qu'il existe un pool de configuration machine correspondant avec une étiquette :
oc describe mcp/worker-rt
$ oc describe mcp/worker-rt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Name: worker-rt Namespace: Labels: machineconfiguration.openshift.io/role=worker-rt
Name: worker-rt Namespace: Labels: machineconfiguration.openshift.io/role=worker-rt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow S'il n'existe pas d'étiquette correspondante, ajoutez une étiquette pour un pool de configuration de machine (MCP) qui correspond au nom du MCP :
oc label mcp <mcp_name> <mcp_name>=""
$ oc label mcp <mcp_name> <mcp_name>=""
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Accédez au répertoire dans lequel vous souhaitez stocker les données
must-gather
. Exécutez
must-gather
sur votre cluster :oc adm must-gather --image=<PAO_must_gather_image> --dest-dir=<dir> $ oc adm must-gather --image=<PAO_must_gather_image>
oc adm must-gather --image=<PAO_must_gather_image> --dest-dir=<dir> $ oc adm must-gather --image=<PAO_must_gather_image>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteLa commande
must-gather
doit être exécutée avec l'imageperformance-addon-operator-must-gather
. La sortie peut éventuellement être compressée. La sortie compressée est nécessaire si vous exécutez le script wrapper Performance Profile Creator.Exemple :
oc adm must-gather --image=registry.redhat.io/openshift4/performance-addon-operator-must-gather-rhel8:v4.12 --dest-dir=<path_to_must-gather>/must-gather
oc adm must-gather --image=registry.redhat.io/openshift4/performance-addon-operator-must-gather-rhel8:v4.12 --dest-dir=<path_to_must-gather>/must-gather
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créer un fichier compressé à partir du répertoire
must-gather
:tar cvaf must-gather.tar.gz must-gather/
$ tar cvaf must-gather.tar.gz must-gather/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.1.2. Exécuter le créateur de profil de performance à l'aide de podman Copier lienLien copié sur presse-papiers!
En tant qu'administrateur de cluster, vous pouvez exécuter podman
et le Créateur de profil de performance pour créer un profil de performance.
Conditions préalables
-
Accès au cluster en tant qu'utilisateur ayant le rôle
cluster-admin
. - Un cluster installé sur du matériel bare-metal.
-
Un nœud avec
podman
et OpenShift CLI (oc
) installés. - Accès à l'image de l'opérateur de réglage des nœuds.
Procédure
Vérifiez le pool de configuration de la machine :
oc get mcp
$ oc get mcp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-acd1358917e9f98cbdb599aea622d78b True False False 3 3 3 0 22h worker-cnf rendered-worker-cnf-1d871ac76e1951d32b2fe92369879826 False True False 2 1 1 0 22h
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-acd1358917e9f98cbdb599aea622d78b True False False 3 3 3 0 22h worker-cnf rendered-worker-cnf-1d871ac76e1951d32b2fe92369879826 False True False 2 1 1 0 22h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Utilisez Podman pour vous authentifier sur
registry.redhat.io
:podman login registry.redhat.io
$ podman login registry.redhat.io
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Username: myrhusername Password: ************
Username: myrhusername Password: ************
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Facultatif : Affiche l'aide pour l'outil PPC :
podman run --rm --entrypoint performance-profile-creator registry.redhat.io/openshift4/ose-cluster-node-tuning-operator:v4.12 -h
$ podman run --rm --entrypoint performance-profile-creator registry.redhat.io/openshift4/ose-cluster-node-tuning-operator:v4.12 -h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exécutez l'outil Performance Profile Creator en mode découverte :
NoteLe mode découverte inspecte votre cluster à l'aide de la sortie de
must-gather
. La sortie produite comprend des informations sur :- Le partitionnement de la cellule NUMA avec les identifiants de l'unité centrale alloués
- Si l'hyperthreading est activé
En utilisant ces informations, vous pouvez définir des valeurs appropriées pour certains des arguments fournis à l'outil Performance Profile Creator.
podman run --entrypoint performance-profile-creator -v <path_to_must-gather>/must-gather:/must-gather:z registry.redhat.io/openshift4/ose-cluster-node-tuning-operator:v4.12 --info log --must-gather-dir-path /must-gather
$ podman run --entrypoint performance-profile-creator -v <path_to_must-gather>/must-gather:/must-gather:z registry.redhat.io/openshift4/ose-cluster-node-tuning-operator:v4.12 --info log --must-gather-dir-path /must-gather
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteCette commande utilise le créateur de profil de performance comme nouveau point d'entrée vers
podman
. Elle mappe les donnéesmust-gather
pour l'hôte dans l'image du conteneur et invoque les arguments de profil fournis par l'utilisateur pour produire le fichiermy-performance-profile.yaml
.L'option
-v
peut être le chemin d'accès à l'un ou l'autre :-
Le répertoire de sortie de
must-gather
-
Un répertoire existant contenant l'archive décompressée
must-gather
L'option
info
requiert une valeur qui spécifie le format de sortie. Les valeurs possibles sont log et JSON. Le format JSON est réservé au débogage.Exécuter
podman
:podman run --entrypoint performance-profile-creator -v /must-gather:/must-gather:z registry.redhat.io/openshift4/ose-cluster-node-tuning-operator:v4.12 --mcp-name=worker-cnf --reserved-cpu-count=4 --rt-kernel=true --split-reserved-cpus-across-numa=false --must-gather-dir-path /must-gather --power-consumption-mode=ultra-low-latency --offlined-cpu-count=6 > my-performance-profile.yaml
$ podman run --entrypoint performance-profile-creator -v /must-gather:/must-gather:z registry.redhat.io/openshift4/ose-cluster-node-tuning-operator:v4.12 --mcp-name=worker-cnf --reserved-cpu-count=4 --rt-kernel=true --split-reserved-cpus-across-numa=false --must-gather-dir-path /must-gather --power-consumption-mode=ultra-low-latency --offlined-cpu-count=6 > my-performance-profile.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteLes arguments du Créateur de profil de performance sont présentés dans le tableau des arguments du Créateur de profil de performance. Les arguments suivants sont nécessaires :
-
reserved-cpu-count
-
mcp-name
-
rt-kernel
Dans cet exemple, l'argument
mcp-name
est défini surworker-cnf
en fonction de la sortie de la commandeoc get mcp
. Pour OpenShift à nœud unique, utilisez--mcp-name=master
.-
Examinez le fichier YAML créé :
cat my-performance-profile.yaml
$ cat my-performance-profile.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Appliquer le profil généré :
oc apply -f my-performance-profile.yaml
$ oc apply -f my-performance-profile.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.1.2.1. Comment lancer le site podman pour créer un profil de performance ? Copier lienLien copié sur presse-papiers!
L'exemple suivant montre comment exécuter podman
pour créer un profil de performance avec 20 CPU réservés qui doivent être répartis sur les nœuds NUMA.
Configuration du matériel du nœud :
- 80 CPU
- Hyperthreading activé
- Deux nœuds NUMA
- Les unités centrales paires sont exécutées sur le nœud NUMA 0 et les unités centrales impaires sur le nœud NUMA 1
Lancez podman
pour créer le profil de performance :
podman run --entrypoint performance-profile-creator -v /must-gather:/must-gather:z registry.redhat.io/openshift4/ose-cluster-node-tuning-operator:v4.12 --mcp-name=worker-cnf --reserved-cpu-count=20 --rt-kernel=true --split-reserved-cpus-across-numa=true --must-gather-dir-path /must-gather > my-performance-profile.yaml
$ podman run --entrypoint performance-profile-creator -v /must-gather:/must-gather:z registry.redhat.io/openshift4/ose-cluster-node-tuning-operator:v4.12 --mcp-name=worker-cnf --reserved-cpu-count=20 --rt-kernel=true --split-reserved-cpus-across-numa=true --must-gather-dir-path /must-gather > my-performance-profile.yaml
Le profil créé est décrit dans le fichier YAML suivant :
Dans ce cas, 10 CPU sont réservés sur le nœud NUMA 0 et 10 sur le nœud NUMA 1.
18.1.3. Exécution du script wrapper Performance Profile Creator Copier lienLien copié sur presse-papiers!
Le script d'habillage du profil de performance simplifie l'exécution de l'outil Performance Profile Creator (PPC). Il masque les complexités associées à l'exécution de podman
et à la spécification des répertoires de mappage et permet la création du profil de performance.
Conditions préalables
- Accès à l'image de l'opérateur de réglage des nœuds.
-
Accès à l'archive
must-gather
.
Procédure
Créez un fichier sur votre machine locale nommé, par exemple,
run-perf-profile-creator.sh
:vi run-perf-profile-creator.sh
$ vi run-perf-profile-creator.sh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Collez le code suivant dans le fichier :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ajoutez des permissions d'exécution pour tout le monde sur ce script :
chmod a+x run-perf-profile-creator.sh
$ chmod a+x run-perf-profile-creator.sh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Facultatif : Affichez l'utilisation de la commande
run-perf-profile-creator.sh
:./run-perf-profile-creator.sh -h
$ ./run-perf-profile-creator.sh -h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Résultats attendus
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteIl existe deux types d'arguments :
-
Les arguments enveloppants, à savoir
-h
,-p
et-t
- Arguments du CPP
- 1
- En option : Spécifiez l'image de l'opérateur Node Tuning. Si elle n'est pas définie, l'image en amont par défaut est utilisée :
registry.redhat.io/openshift4/ose-cluster-node-tuning-operator:v4.12
. - 2
-t
est un argument obligatoire du script wrapper et spécifie le chemin d'accès à l'archivemust-gather
.
-
Les arguments enveloppants, à savoir
Exécutez l'outil de création de profils de performance en mode découverte :
NoteLe mode découverte inspecte votre cluster à l'aide de la sortie de
must-gather
. La sortie produite comprend des informations sur :- Le partitionnement de la cellule NUMA avec les ID d'unité centrale attribués
- Si l'hyperthreading est activé
En utilisant ces informations, vous pouvez définir des valeurs appropriées pour certains des arguments fournis à l'outil Performance Profile Creator.
./run-perf-profile-creator.sh -t /must-gather/must-gather.tar.gz -- --info=log
$ ./run-perf-profile-creator.sh -t /must-gather/must-gather.tar.gz -- --info=log
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteL'option
info
requiert une valeur qui spécifie le format de sortie. Les valeurs possibles sont log et JSON. Le format JSON est réservé au débogage.Vérifiez le pool de configuration de la machine :
oc get mcp
$ oc get mcp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-acd1358917e9f98cbdb599aea622d78b True False False 3 3 3 0 22h worker-cnf rendered-worker-cnf-1d871ac76e1951d32b2fe92369879826 False True False 2 1 1 0 22h
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-acd1358917e9f98cbdb599aea622d78b True False False 3 3 3 0 22h worker-cnf rendered-worker-cnf-1d871ac76e1951d32b2fe92369879826 False True False 2 1 1 0 22h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créer un profil de performance :
./run-perf-profile-creator.sh -t /must-gather/must-gather.tar.gz -- --mcp-name=worker-cnf --reserved-cpu-count=2 --rt-kernel=true > my-performance-profile.yaml
./run-perf-profile-creator.sh -t /must-gather/must-gather.tar.gz -- --mcp-name=worker-cnf --reserved-cpu-count=2 --rt-kernel=true > my-performance-profile.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteLes arguments du Créateur de profil de performance sont présentés dans le tableau des arguments du Créateur de profil de performance. Les arguments suivants sont nécessaires :
-
reserved-cpu-count
-
mcp-name
-
rt-kernel
Dans cet exemple, l'argument
mcp-name
est défini surworker-cnf
en fonction de la sortie de la commandeoc get mcp
. Pour OpenShift à nœud unique, utilisez--mcp-name=master
.-
Examinez le fichier YAML créé :
cat my-performance-profile.yaml
$ cat my-performance-profile.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Appliquer le profil généré :
NoteInstallez l'opérateur de réglage des nœuds avant d'appliquer le profil.
oc apply -f my-performance-profile.yaml
$ oc apply -f my-performance-profile.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.1.4. Arguments du créateur de profil de performance Copier lienLien copié sur presse-papiers!
Argument | Description |
---|---|
| Désactiver l'hyperthreading.
Valeurs possibles :
Valeur par défaut : Avertissement
Si cet argument est défini à |
|
Il capture des informations sur les clusters et n'est utilisé qu'en mode découverte. Le mode découverte nécessite également l'argument Valeurs possibles :
Valeur par défaut : |
|
Nom du MCP par exemple |
| Doit rassembler le chemin d'accès au répertoire. Ce paramètre est obligatoire.
Lorsque l'utilisateur exécute l'outil avec le script wrapper |
| Nombre d'unités centrales hors ligne. Note Il doit s'agir d'un nombre naturel supérieur à 0. Si le nombre de processeurs logiques déconnectés est insuffisant, des messages d'erreur sont enregistrés. Ces messages sont les suivants : Error: failed to compute the reserved and isolated CPUs: please ensure that reserved-cpu-count plus offlined-cpu-count should be in the range [0,1]
Error: failed to compute the reserved and isolated CPUs: please specify the offlined CPU count in the range [0,1]
|
| Le mode de consommation d'énergie. Valeurs possibles :
Valeur par défaut : |
|
Nom du profil de performance à créer. Valeur par défaut : |
| Nombre d'unités centrales réservées. Ce paramètre est obligatoire. Note Il doit s'agir d'un nombre naturel. La valeur 0 n'est pas autorisée. |
| Activer le noyau en temps réel. Ce paramètre est obligatoire.
Valeurs possibles : |
| Répartir les unités centrales réservées sur les nœuds NUMA.
Valeurs possibles :
Valeur par défaut : |
| Politique du Kubelet Topology Manager du profil de performance à créer. Valeurs possibles :
Valeur par défaut : |
| Exécution avec la mise en réseau au niveau de l'utilisateur (DPDK) activée.
Valeurs possibles :
Valeur par défaut : |