Performance et optimisation

Optimisation des performances avec tuned

Table des matières

Introduction



Tuned est un outil de gestion de performance pour les systèmes Linux, conçu pour optimiser les performances. Il permet d'ajuster les paramètres du système en temps réel, en appliquant des profils prédéfinis ou personnalisés.

Installation



Tuned est installé et activé par défaut sur certaines distributions Linux comme RHEL par exemple. Si tel n'est pas le cas :

Fedora, RHEL et dérivées :
Code BASH :
dnf install tuned


Debian, Ubuntu et dérivées :
Code BASH :
apt install tuned


Une fois tuned installé, il fonctionne avec un service, qu'il sera nécessaire de démarrer et d'activer :

Code BASH :
systemctl enable --now tuned



Utilisation



Pour vérifier le fonctionnement de tuned et le profil actif :
Code BASH :
tuned-adm active


Par exemple :
Code TEXT :
Current active profile: virtual-guest


Pour lister les profils disponibles :
Code BASH :
tuned-adm list


tuned propose plusieurs profils optimisés pour différents scénarios, parmis ceux listés sur ma RHEL 8 :
- accelerator-performance : Optimisation des performances axée sur le débit avec désactivation des états STOP à latence plus élevée.
- aws : Optimisation pour les instances AWS EC2.
- balanced : Profil général non spécialisé.
- desktop : Optimisation pour un usage de bureau.
- epyc-eda : Optimisation pour les charges de travail de calcul EDA sur les processeurs AMD EPYC.
- hpc-compute : Optimisation pour les charges de travail de calcul HPC (High Performance Computing).
- intel-sst : Configuration pour la fréquence de base Intel Speed Select.
- latency-performance : Optimisation pour des performances déterministes au prix d'une consommation d'énergie accrue.
- network-latency : Optimisation pour des performances déterministes au prix d'une consommation d'énergie accrue, axée sur des performances réseau à faible latence.
- network-throughput : Optimisation pour le débit réseau en streaming, généralement nécessaire uniquement sur les anciens processeurs ou les réseaux 40G+.
- optimize-serial-console : Optimisation pour l'utilisation de la console série.
- powersave : Optimisation pour une faible consommation d'énergie.
- throughput-performance : Réglage largement applicable qui offre d'excellentes performances sur une variété de charges de travail serveur courantes.
- virtual-guest : Optimisation pour l'exécution à l'intérieur d'un invité virtuel.
- virtual-host : Optimisation pour l'exécution d'invités KVM.

Dans le cas de RHEL, il y a des profils supplémentaires avec des paquets tuned-profiles-xxxx :
- tuned-profiles-atomic : Profils supplémentaires optimisés pour Atomic
- tuned-profiles-atomic-openshift-node : Profils optimisés pour les hôtes Atomic OpenShift Node
- tuned-profiles-compat : Profils supplémentaires principalement pour la compatibilité ascendante avec tuned 1.0
- tuned-profiles-cpu-partitioning : Profils supplémentaires optimisés pour le partitionnement CPU
- tuned-profiles-mssql : Profils supplémentaires pour MS SQL Server
- tuned-profiles-nfv : Profils supplémentaires ciblés sur la virtualisation des fonctions réseau (NFV)
- tuned-profiles-nfv-guest : Profils supplémentaires ciblés sur les invités de la virtualisation des fonctions réseau (NFV)
- tuned-profiles-nfv-host : Profils supplémentaires ciblés sur les hôtes de la virtualisation des fonctions réseau (NFV)
- tuned-profiles-openshift : Profils TuneD supplémentaires optimisés pour OpenShift
- tuned-profiles-openshift-node : Profils optimisés pour les hôtes OpenShift Node
- tuned-profiles-oracle : Profils supplémentaires ciblés sur les charges de travail Oracle
- tuned-profiles-postgresql : Profils supplémentaires ciblés sur les charges de travail du serveur PostgreSQL
- tuned-profiles-realtime : Profils supplémentaires ciblés sur le temps réel
- tuned-profiles-sap : Profils supplémentaires ciblés sur les charges de travail SAP NetWeaver
- tuned-profiles-sap-hana : Profils supplémentaires ciblés sur les charges de travail SAP HANA
- tuned-profiles-spectrumscale : Profils supplémentaires optimisés pour IBM Spectrum Scale



Pour changer de profil, suivant notre usage de la machine :
Code BASH :
tuned-adm profile nom_du_profil


Par exemple, pour passer au profil "throughput-performance", utilisez :
Code BASH :
tuned-adm profile throughput-performance


Création de profils personnalisés



Les profils par défaut sont situés dans /usr/lib/tuned
Les profils personnalisés doivent être dans /etc/tuned/profiles (si le dossier profiles n'existe pas, directement dans /etc/tuned )

Pour créer des profils personnalisés, on créra un dossier avec comme nom le profil :
Code BASH :
mkdir /etc/tuned/profiles/perso-adrien


On paramètre le tout dans un fichier tuned.conf :
Code BASH :
vim /etc/tuned/profiles/perso-adrien/tuned.conf


Voici un exemple de config :

Code BASH :
# TuneD config
[main]
summary=Profil perso adrien
include=throughput-performance
 
[sysctl]
vm.swappiness = 5
kernel.sysrq = 1
kernel.panic = 5
 


Le profil est disponible directement, et il est activable avec les commandes vues précédemment :
Code BASH :
tuned-adm profile perso-adrien


On peut constater que les paramètres sont appliqués dans la foulée. Vérifier avec par exemple :
Code BASH :
cat /proc/sys/vm/swappiness


Il y a plein de plugins disponibles (acpi, disk, cpu, video, ...)

Utilisation à travers Cockpit



Il est possible de basculer de profils en profils tuned à travers l'interface cockpit :

tuned-cockpit-1

tuned-cockpit-2

Cette page a été vue 4579 fois