Cette page est une documentation originale PmaControl. Elle reprend une structure d'index pratique pour travailler sur l'optimisation MySQL, sans copier de contenu tiers ni dépendre d'un produit externe.
Objectif
Le tuning MySQL consiste à réduire la latence, stabiliser le débit et éviter les saturations répétées. Le travail doit partir de mesures réelles plutôt que de valeurs génériques copiées d'un serveur à l'autre.
Ordre de travail recommandé
- Capturer la charge réelle: QPS, latence, erreurs, connexions, I/O disque, mémoire et CPU.
- Identifier les requêtes dominantes avec
performance_schema, le slow log ou un outil de digest. - Vérifier le schéma: index manquants, index redondants, types trop larges, tables sans clef primaire.
- Ajuster InnoDB: buffer pool, redo log, flush, threads I/O et stratégie de durabilité.
- Revoir les limites serveur: connexions, fichiers ouverts, caches de tables, tailles des tables temporaires.
- Tester sur une fenêtre maîtrisée, avec un rollback documenté.
Commandes utiles
SHOW GLOBAL STATUS LIKE 'Threads_connected';
SHOW GLOBAL STATUS LIKE 'Questions';
SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool_reads';
SHOW VARIABLES LIKE 'innodb_buffer_pool_size';
A retenir
Un bon tuning MySQL est incrémental. Une variable modifiée sans mesure avant/après devient une source de dette opérationnelle.