Optimiser MySQL
Posté par Stéphane le 11 août 2009 dans Featured, MySQL • Pas de commentairesMySQL est livré avec des fichiers de configuration génériques, minimaux, que nous devons modifier en fonction de notre utilisation. Je vous propose de jeter un oeil au script Tuning-primer qui apporte une aide certaine pour cette optimisation.
Il peut s’avérer compliqué et peu évident de paramétrer finement un serveur MySQL. Cela dépend de chaque serveur et d’ l’utilisation du système de gestion de base de données. De plus ce travail peu prendre du temps pour bien affiner nos valeurs.
La méthode classique consiste à regarder les informations sur le serveur grâce aux commande show status et show variables et en fonction des résultats de modifier les valeurs dans le fichier my.cnf
Cette méthode reste la bonne méthode mais un peu d’aide n’est pas de refus pour gagner du temps …
Description du script :
MySQL performance tuning primer script
Writen by: Matthew Montgomery <mmontgomery@mysql.com>
Inspired by: MySQLARd (http://gert.sos.be/demo/mysqlar/)
Version: 1.4-r1 Released: 2008-03-18
Licenced under GPLv2
Utilisation du script :
Tout d’abord il est utile de dire que ce script est un script shell et ne fonctionne donc que sous Linux.
Sinon l’utilisation est on ne peut plus simple. Il suffit d’exécuter le script (après un chmod +x), de renseigner nos identifiants pour accéder à MySQL et de lire les informations renvoyées.
Le script est capable de générer pour vous le fichier my.cnf, mais je vous le déconseille car vous apprendrez beaucoup plus en lisant les explications et en modifiant vous-même les variables.
Comment nous aide-t-il ? :
Le script renvoi des informations pour chaque variable importante en fonction de l’utilisation de notre serveur. Il est d’ailleurs fortement recommandé de laisser tourner le serveur MySQL en utilisation normale pendant au moins 48h. Si votre serveur MySQL n’a pas été sollicité vous ne pourrez pas savoir réellement les modifications à effectuer. Encore une fois, je le répète, votre serveur est UNIQUE, c’est l’utilisation que vous en faites qui va déterminer les valeurs à paramétrer. Bien sur, nous pourrions mettre des valeurs génériques qui fonctionneraient mais nous parlons ici d’optimisation donc on affine à partir de ces valeurs génériques. N’hésitez pas non plus à relancer ce script régulièrement. En effet l’utilisation et la sollicitation de votre serveur MySQL peut évoluer, il faut donc faire évoluer vos paramétrages en conséquence.
Les information renvoyées sont affichées en couleur (rouge, rose, jaune, vert) en fonction du type de message. Si le paramétrage de la variable est correct la couleur sera verte, sinon le couleur sera rouge. Pour chaque informations un message explicatif est associé.
Eléments examinés par la script :
- SLOW QUERIES
- BINARY UPDATE LOG
- WORKER THREADS
- MAX CONNECTIONS
- MEMORY USAGE
- KEY BUFFER
- QUERY CACHE
- SORT OPERATIONS
- JOINS
- OPEN FILES LIMIT
- TABLE CACHE
- TEMP TABLES
- TABLE SCANS
- TABLE LOCKING
Où trouver le script ? :
Vous pourrez trouver le script sur ce site : http://day32.com/MySQL
S’il n’est plus disponible où si l’emplacement a changé, vous trouverez une copie ici

