Magazine Ebusiness

Optimiser Mysql simplement

Publié le 13 septembre 2011 par Vincent Gache

Logo Mysql

Pour ceux qui développent régulièrement des sites ou autres applications qui peuvent parfois être gourmandes en temps de traitement SQL sous Mysql, cet article est pour vous.

Vous ne connaissez peut-être pas encore Mysql Tunning Primer, en tout cas, moi je ne connaissais pas. Après avoir testé ce script de long en large, je trouve que 80% des retours d’optimisations de ce script sont plutôt pertinent. Au final j’ai gagné pas mal en temps de calcul machine après avoir apporté une bonne partie des modifications et optimisations proposées par le script.

Passons donc à la pratique pour Optimiser votre Mysql à l’aide de Mysql Tunning Primer.

Premièrement il vous faut télécharger le script (dont la dernière mise à jours date de Juillet 2011 au moment ou j’écris ces lignes directement sur le launchpad. Il vous suffit d’envoyer ce script sur votre serveur à l’aide de la méthode que vous souhaitez.

Dans un second temps vous ajoutez les droits d’exécution au script Mysql Tunning Primer:

chmod +x tunning-primer.sh

Dans un troisième temps vous attendez que votre Mysql soit en pleine activité (Mais vous prévenez auparavant vos utilisateurs d’éventuels ralentissements qui pourraient survenir) et vous balancez la sauce à l’aide de la simple commande:

./tuning-primer.sh

Vous laissez tourner puis il vous suffit d’appliquer toute ou partie des recommandations proposées par le script. Cette phase permet vraiment de plutôt optimiser le serveur.

Enfin la troisième partie va aider à trouver les requêtes très (trop?) gourmandes en ressource. Pour se faire suivez les instructions ci-dessous:

    1. Ouvrir le fichier de configuration de Mysql (my.cnf) généralement dans /etc/mysql/my.cnf
    2. Vous ajoutez les paramètres suivant:
      log_slow_queries = /var/log/mysql/mysql-slow.log
      long_query_time = 1
    3. Vous redémarrer votre petit serveur Mysql à l’aide de la commande:
      /etc/init.d/mysqld restart
    4. A partir de ce moment vous avez deux solutions. Soit vous venez de relancer votre Mysql en pleine prod (ce qui est mal n’est-ce pas!) et donc le serveur Mysql tourne bien du coup vous n’avez qu’a faire un petit:
      tail -f /var/log/mysql/mysql-slow.log
      Vous verrez ainsi la liste des requêtes « mal construite » arriver dans le fichier. Soit vous laissez tourner un moment (toujours en prévenant vos utilisateurs d’éventuels ralentissement) et vous analysez le fichier après coup.

Retour à La Une de Logo Paperblog

A propos de l’auteur


Vincent Gache 647 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Dossier Paperblog