![]()
La communauté open-source célèbre aujourd’hui la sortie de MySQLTuner v2.9.2, une version de maintenance et d’évolution majeure. Cette publication apporte des outils d’audit indispensables pour les infrastructures de bases de données distribuées et résout des anomalies de détection matérielle sur les contrôleurs de stockage.
1. Innovations Technologiques : Architectures Distribuées
A. Diagnostics Galera en Profondeur (wsrep)
Les clusters à réplication synchrone comme MariaDB Galera et Percona XtraDB Cluster (PXC) bénéficient d’un audit de santé réseau et de cohérence transactionnelle plus rigoureux. MySQLTuner analyse désormais les indicateurs clés suivants :
* Latence réseau & Files d’attente : Les variables d’état wsrep_local_recv_queue_avg et wsrep_local_send_queue_avg sont surveillées. Une accumulation dans ces files indique une saturation de l’écriture locale (disques lents) ou une bande passante réseau insuffisante.
* Conflits de Verrous & Certification : Le compteur wsrep_cert_deps_failed mesure les échecs de certification des transactions concurrentes. Un score élevé révèle des conflits d’écriture multi-sources qui dégradent les performances globales.
* Scission de Quorum (Split-Brain) : Si la variable wsrep_cluster_status prend une valeur différente de Primary, le script lève immédiatement une alerte critique pour signaler la perte de quorum.

Exemple de rapport généré par MySQLTuner :
[!!] Galera cluster is in non-Primary state (Quorum lost): wsrep_cluster_status = non-Primary
[!!] High certification failures detected: wsrep_cert_deps_failed = 1420 (Check multi-master write workload)
B. InnoDB Cluster & Réplication de Groupe (Group Replication)
Pour les architectures basées sur MySQL InnoDB Cluster, les améliorations apportent :
* Une meilleure corrélation entre la RAM système et la mémoire cache de réplication.
* Un contrôle renforcé des variables d’état du protocole de consensus Paxos (group_replication_primary_member).
2. Optimisation des Performances : L’option --skipworkload
Sur les instances de production traitant un trafic intense (milliers de requêtes par seconde), l’évaluation des statistiques de charge (comme la détection de la fragmentation des tables ou la saturation des clés auto-incrémentées) peut s’avérer lourde pour le dictionnaire de données.
La version 2.9.2 introduit le commutateur --skipworkload :
# Exécuter l'audit système et configuration en sautant l'analyse de charge
./mysqltuner.pl --skipworkload
Cette option désactive temporairement le profilage de trafic, réduisant de plus de 60% la charge de requêtes de diagnostic de MySQLTuner sur l’instance cible. De plus, la requête d’analyse de saturation des auto-incréments a été optimisée via une jointure initiale sur COLUMN_TYPE dans INFORMATION_SCHEMA.
3. Détection Matérielle & Sécurité des Données (RAID)
La détection des contrôleurs RAID physiques LSI/AVAGO MegaRAID a été corrigée au niveau du parsing des utilitaires MegaCli et storcli.
Le script valide la politique de cache en écriture du contrôleur :
* Write-Back (Recommandé avec BBU) : Les écritures sont stockées dans la RAM du contrôleur et acquittées immédiatement, la batterie (BBU) ou le supercondensateur (CacheVault) garantissant l’absence de perte de données en cas de coupure de courant.
* Write-Through : Les écritures sont envoyées directement sur le média physique (sécurisé mais lent).
MySQLTuner lève une alerte de performance si la politique est réglée sur WriteThrough, ou si elle est réglée sur WriteBack mais sans batterie de secours fonctionnelle détectée :
[!!] RAID controller write-cache is set to WriteThrough (Data safety warning: No BBU/SuperCap detected!)
De plus, en cas d’installation via un gestionnaire de paquets Debian/Ubuntu, le script gère désormais un chemin de repli automatique vers /usr/share/mysqltuner/vulnerabilities.csv pour la détection des failles CVE.
Guide d’installation et de mise à niveau
La mise à niveau est immédiate. Elle s’effectue en téléchargeant la dernière version autonome :
wget http://mysqltuner.pl/ -O mysqltuner.pl
chmod +x mysqltuner.pl
./mysqltuner.pl