Retour : Page Principale > sommaire aide > sommaire aide-mémos
Une fois installé, si aucun fichier /root/.my.cnf stockant le mot de passe existe pour l'utilisateur courant, indiqué ses infos via les options de la commande mysqltuner.
Pour voir les options : mysqltunner --help
Avec plusieurs instances de mysql utilisez la commande : PATH=$PATH:/usr/local/mysql/5.6/bin mysqltuner
Le rapport avec des indications s'affiche.
Created_tmp_disk_tables : indique le nombre de tables temporaires sur disque crĂ©Ă©es automatiquement par le serveur lors de l'exĂ©cution d'Ă©noncĂ©s. Si la valeur du paramĂštre Created_tmp_disk_tables est trop grande, augmentez la valeur de tmp-table-size afin que les tables temporaires soient maintenues en mĂ©moire au lieu d'ĂȘtre sur disque.
RĂ©aliser ce calcul : innodb_buffer_pool_reads / innodb_buffer_pool_read_requests * 100 = 0.001
Ou lancer
Si le résultat est supérieur à 0.001, il est nécessaire d'augmenter la taille du buffer innoDB en augment la valeur de innodb-buffer-pool-size dans le fichier my.cnf.
Se rendre depuis l'accueil, dans l'onglet "Etat", puis menu "Conseiller".
Un certain nombre d'indications peuvent ĂȘtre rĂ©cupĂ©rĂ©es pour modifier le fichier my.cnf.
Optimisation de Mysql
Comment débuter
Pour commencer, il est possible d'utiliser l'outil en ligne de Percona permettant de créer un fichier my.cnf de base : https://tools.percona.com/wizardUtiliser Mysql Tuner
Installer Mysql Tuner : apt-get install mysqltunerUne fois installé, si aucun fichier /root/.my.cnf stockant le mot de passe existe pour l'utilisateur courant, indiqué ses infos via les options de la commande mysqltuner.
Pour voir les options : mysqltunner --help
Avec plusieurs instances de mysql utilisez la commande : PATH=$PATH:/usr/local/mysql/5.6/bin mysqltuner
Le rapport avec des indications s'affiche.
Comparer le nombre de tables écrites en mémoire par rapport au disque dur
Utiliser la requĂȘte suivante pour vĂ©rifier le rapport : SHOW GLOBAL STATUS LIKE 'Created_tmp%';Created_tmp_disk_tables : indique le nombre de tables temporaires sur disque crĂ©Ă©es automatiquement par le serveur lors de l'exĂ©cution d'Ă©noncĂ©s. Si la valeur du paramĂštre Created_tmp_disk_tables est trop grande, augmentez la valeur de tmp-table-size afin que les tables temporaires soient maintenues en mĂ©moire au lieu d'ĂȘtre sur disque.
VĂ©rifier que les requĂȘtes sur InnoDB utilisent le buffer
Pour modifier la taille du buffer InnoDB, il faut modifier le paramĂštre innodb-buffer-pool-size dans le fichier my.cnf.Solution 1
VĂ©rifier que le buffer est bien utilisĂ© avec la requĂȘte : SHOW GLOBAL STATUS LIKE 'innodb_buffer_pool_rea%';RĂ©aliser ce calcul : innodb_buffer_pool_reads / innodb_buffer_pool_read_requests * 100 = 0.001
Ou lancer
SELECT round ((P2.variable_value / P1.variable_value),4), P2.variable_value, P1.variable_value FROM information_schema.GLOBAL_STATUS P1, information_schema.GLOBAL_STATUS P2 WHERE P1. variable_name = 'innodb_buffer_pool_read_requests' AND P2. variable_name = 'innodb_buffer_pool_reads';
Si le résultat est supérieur à 0.001, il est nécessaire d'augmenter la taille du buffer innoDB en augment la valeur de innodb-buffer-pool-size dans le fichier my.cnf.
Solution 2
VĂ©rifier que les requĂȘtes sur InnoDB ont un bon hit ratio avec la requĂȘte : SHOW ENGINE INNODB STATUS ;- si le nombre de "Free buffers" est trĂšs important, il est possible qu'il faille rĂ©duire la taille du buffer.
- la valeur "Innodb hit ratio: 1000/1000" indique une utilisation correcte du buffer, un ratio légÚrement plus faible est acceptable mais au dessous de 950/1000 il est nécessaire d'augmenter la taille du buffer.
Optimiser les tables défragmentées
Utiliser la requĂȘte suivante (source : http://stackoverflow.com/questions/1031885/mysql-optimize-table-for-all-fragmented-tables) :SELECT concat("OPTIMIZE TABLE ", table_schema,".",table_name,";") FROM information_schema.tables WHERE DATA_FREE > 0 INTO OUTFILE '/tmp/optimize.sql'; SOURCE /tmp/optimize.sql;
Surveiller l'Ă©volution de l'utilisation de Mysql avec Phpmyadmin
Pour surveiller les réglages nécessaire pour Mysql, il est possible d'utiliser Phpmyadmin.Se rendre depuis l'accueil, dans l'onglet "Etat", puis menu "Conseiller".
Un certain nombre d'indications peuvent ĂȘtre rĂ©cupĂ©rĂ©es pour modifier le fichier my.cnf.
Utiliser un disque en Ram pour le dossier temp de Mysql
Si de trop nombreuses requĂȘtes sont Ă©crites sur le disque par rapport Ă la mĂ©moire commencer par :- optimiser les requĂȘtes SQL (utiliser EXPLAIN)
- modifier les paramÚtres de my.cnf pour forcer l'utilisaton de la mémoire vive
- optimiser l'écriture sur disque de Mysql en créant un disque dur virtuel en RAM.