GNU/Linux >> Tutoriels Linux >  >> Linux

MySQL - Réglage et optimisation des performances

Aperçu

MySQL est un système de gestion de base de données relationnelle très polyvalent et performant, utilisé par de nombreux packages Web tels que WordPress, Joomla et Magento. Bien que la configuration par défaut offre des performances raisonnables, il existe toujours des moyens de s'assurer que vous obtenez la meilleure vitesse possible de votre base de données.

En tant que fournisseur d'hébergement, on nous demande tout le temps un serveur "plus rapide" ou plus de ressources, alors que dans de nombreux cas, cela ne résoudra pas le problème. Une meilleure optimisation et un meilleur réglage des performances de votre configuration existante doivent toujours être la première étape.

Ces instructions s'appliquent uniquement aux serveurs privés virtuels ou dédiés (VPS). Si vous avez un hébergement partagé et avez besoin de meilleures performances de base de données, parlez à l'équipe Conetix de la migration vers un VPS.

Instructions

Attention ! Assurez-vous que votre base de données a été sauvegardée avant d'apporter des modifications.

L'un des outils les plus simples pour aider à diagnostiquer les problèmes est MySQLTuner. Il s'agit d'un script basé sur Perl qui analysera les performances actuelles de votre service de base de données.

Il est préférable d'exécuter cet outil quelques heures après l'utilisation de la base de données, pas juste après le redémarrage.

  1. Téléchargez le script MySQLTuner :

    wget https://raw.github.com/major/MySQLTuner-perl/master/mysqltuner.pl
  2. Ajouter des autorisations d'exécution :

    chmod +x mysqltuner.pl
  3. Exécutez ensuite le script : 

    ./mysqltuner.pl

Attention ! Bien que MySQLTuner soit idéal pour vous donner une première idée des paramètres à modifier, veuillez comprendre quoi  vous modifiez avant de modifier les configurations. Certaines modifications peuvent entraîner une dégradation des performances et au pire, une perte de données sans les soins et l'attention nécessaires.

Voici quelques conseils de base :

  • Consultez votre allocation de mémoire InnoDB (innodb_buffer_pool_size) pour vous assurer que suffisamment de mémoire est allouée à MySQL.
  • Vérifiez les avertissements concernant les jointures effectuées sans index. Ceux-ci peuvent être très lents à exécuter, surtout si vous avez un grand nombre de lignes.
  • Vérifiez les tables fragmentées.
  • Utilisez la commande EXPLAIN dans MySQL pour déterminer les problèmes de performances liés à vos requêtes.

Il existe de nombreux autres conseils, ajustements et améliorations possibles, utilisez les suggestions de MySQLTuner pour vous orienter dans la bonne direction et effectuez quelques recherches Google sur le problème. Si vous êtes un client Conetix, vous pouvez créer un ticket d'assistance et nous effectuerons gratuitement une analyse de base pour vous.

Lectures complémentaires

  • Ajustement des performances d'InnoDB : http://dev.mysql.com/doc/refman/5.0/en/innodb-tuning.html
  • Les 10 principaux conseils relatifs aux performances d'Oracle : https://wikis.oracle.com/pages/viewpage.action?pageId=27263381
  • Comment indexer les jointures avec MySQL :hackmysql.com/case4
  • MySQL EXPLAIN expliqué : http://www.slideshare.net/phpcodemonkey/mysql-explain-explained

Linux
  1. Comment configurer LogAnalyzer avec Rsyslog et MySQL

  2. État du service Solaris et dépendances ?

  3. Top 8 des trucs et astuces en ligne de commande MySQL

  4. Créer un nouvel utilisateur et accorder des autorisations dans MySQL

  5. Bases de l'utilisateur et de la base de données MySQL

13 conseils pour régler et optimiser les bases de données Mysql et Mariadb

Recherche et remplacement MySQL

Comment multi-maître MySQL avec Percona et Keepalived

Installez VMware Tools sur Ubuntu et augmentez les performances des machines virtuelles

Réglage des performances Nginx

Présentation de la surveillance et du réglage des performances Linux