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)
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...
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)