Monitorer MySQL

Ce tutoriel donne quelques pistes pour monitorer MySQL afin de réperer la source de latences par ex ou procéder à des optimisations. Enregistrer les requêtes longues (slow queries)

Surveillez les requêtes consommatrices de ressources

Dans /etc/mysql/my.cnf décommentez la variable log-slow-queries :

# Here you can see queries with especially long duration
log-slow-queries = /var/log/mysql/mysql-slow.log

Relancez mysql :

/etc/init.d/mysql restart

Dans /var/log/mysql/mysql-slow.log seront dès lors enregistrées toutes les requêtes qui mettent du temps à s’exécuter...

mytop - le top de mysql

Vous connaissez la commande top qui permet de connaitre les process en cours et qui demandent le plus de ressources. Voici la même chose pour mysql et qui donne l’équivalent d’un “SHOW PROCESSLIST” :

Pour l’installer :

aptitude update
aptitude install mytop

Ensuite, exécutez mytop dans une console :

mytop -u root -p motdepasse

Cela permet d’avoir une vision générale de mysql mais vous pouvez tout à fait préciser une base de donnnées, etc. (voir man mytop)