Debian : Optimisez votre distribution avec Tuned

modifié le : 7 septembre 2023,
par Julien Louis
 

Debian : Optimisez votre distribution avec Tuned

Lorsque vous exécutez des applications exigeantes en termes de performances sur votre serveur Debian, il est essentiel de maximiser l'efficacité de votre matériel pour obtenir les meilleures performances possibles. L'utilitaire Tuned est un outil puissant qui vous permet de personnaliser les réglages du système en fonction de différents profils de performances, ce qui peut vous aider à optimiser votre serveur en fonction de vos besoins spécifiques.

Installation de Tuned

Avant de commencer à utiliser Tuned, vous devez d'abord l'installer sur votre système Debian. Vous pouvez le faire en utilisant la commande suivante :

sudo apt install tuned

Une fois l'installation terminée, vous pouvez activer et configurer Tuned.

Service

Tuned déploie son propre service. Pour en consulter son status, exécutez la commande suivante :

sudo systemctl status tuned.service

Le service est activé par défaut :

● tuned.service - Dynamic System Tuning Daemon
     Loaded: loaded (/lib/systemd/system/tuned.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2023-09-06 20:17:21 CEST; 8min ago
       Docs: man:tuned(8)
             man:tuned.conf(5)
             man:tuned-adm(8)
   Main PID: 12013 (tuned)
      Tasks: 4 (limit: 2276)
     Memory: 15.9M
        CPU: 1.202s
     CGroup: /system.slice/tuned.service
             └─12013 /usr/bin/python3 -Es /usr/sbin/tuned -l -P

sept. 06 20:17:21 debian systemd[1]: Starting Dynamic System Tuning Daemon...
sept. 06 20:17:21 debian systemd[1]: Started Dynamic System Tuning Daemon.

Activation de Tuned

Tuned est conçu pour fonctionner avec des profils de performances prédéfinis. Vous pouvez les afficher en exécutant la commande suivante :

sudo tuned-adm list

Les profils disponibles seront :

Available profiles:
- accelerator-performance     - Throughput performance based tuning with disabled higher latency STOP states
- atomic-guest                - Optimize virtual guests based on the Atomic variant
- atomic-host                 - Optimize bare metal systems running the Atomic variant
- balanced                    - General non-specialized tuned profile
- cpu-partitioning            - Optimize for CPU partitioning
- default                     - Legacy default tuned profile
- desktop                     - Optimize for the desktop use-case
- desktop-powersave           - Optmize for the desktop use-case with power saving
- enterprise-storage          - Legacy profile for RHEL6, for RHEL7, please use throughput-performance profile
- hpc-compute                 - Optimize for HPC compute workloads
- intel-sst                   - Configure for Intel Speed Select Base Frequency
- laptop-ac-powersave         - Optimize for laptop with power savings
- laptop-battery-powersave    - Optimize laptop profile with more aggressive power saving
- latency-performance         - Optimize for deterministic performance at the cost of increased power consumption
- mssql                       - Optimize for MS SQL Server
- network-latency             - Optimize for deterministic performance at the cost of increased power consumption, focused on low latency network performance
- network-throughput          - Optimize for streaming network throughput, generally only necessary on older CPUs or 40G+ networks
- optimize-serial-console     - Optimize for serial console use.
- oracle                      - Optimize for Oracle RDBMS
- postgresql                  - Optimize for PostgreSQL server
- powersave                   - Optimize for low power consumption
- realtime                    - Optimize for realtime workloads
- realtime-virtual-guest      - Optimize for realtime workloads running within a KVM guest
- realtime-virtual-host       - Optimize for KVM guests running realtime workloads
- sap-hana                    - Optimize for SAP HANA
- sap-netweaver               - Optimize for SAP NetWeaver
- server-powersave            - Optimize for server power savings
- spectrumscale-ece           - Optimized for Spectrum Scale Erasure Code Edition Servers
- spindown-disk               - Optimize for power saving by spinning-down rotational disks
- throughput-performance      - Broadly applicable tuning that provides excellent performance across a variety of common server workloads
- virtual-guest               - Optimize for running inside a virtual guest
- virtual-host                - Optimize for running KVM guests

Vous pouvez ensuite activer le profil de performance de votre choix en utilisant la commande :

sudo tuned-adm profile <nom-du-profil>

Remplacez <nom-du-profil> par le nom du profil que vous souhaitez utiliser. Par exemple, si vous souhaitez activer le profil "throughput-performance", exécutez la commande suivante :

sudo tuned-adm profile throughput-performance

Vous pouvez obtenir le profil recommandé par l'application avec la commande suivante :

sudo tuned-adm recommend

Configuration personnalisée

Tuned permet également la création de profils de performance personnalisés. Pour ce faire, vous devez éditer le fichier de configuration de Tuned. Le fichier de configuration principal est situé dans le répertoire /etc/tuned/. Par exemple, pour créer un profil personnalisé nommé "mon-profil", vous pouvez créer un fichier de configuration /etc/tuned/mon-profil/tuned.conf.

Voici un exemple de fichier de configuration Tuned pour un profil personnalisé :

[main]
include=throughput-performance

[cpu]
governor=performance

[sysctl]
vm.dirty_ratio=10

Ce fichier de configuration active d'abord le profil "throughput-performance" en utilisant l'instruction include. Ensuite, il définit le gouverneur du CPU sur "performance" pour maximiser les performances du processeur. Enfin, il ajuste un paramètre de sysctl pour contrôler la gestion de la mémoire.

Après avoir créé votre profil personnalisé, vous pouvez l'activer de la même manière que les profils prédéfinis à l'aide de tuned-adm.

Conclusion

L'utilitaire Tuned est un outil précieux pour optimiser les performances de votre serveur Debian en fonction de vos besoins spécifiques. En utilisant les profils prédéfinis ou en créant des profils personnalisés, vous pouvez tirer le meilleur parti de votre matériel tout en garantissant une utilisation efficace des ressources système.

N'hésitez pas à explorer davantage les possibilités de Tuned et à l'adapter à vos besoins pour obtenir des performances optimales sur votre serveur Debian.