19
0
Fork 0

Ajout doc sur pt-query-digest

This commit is contained in:
emorino 2018-07-04 15:05:32 +02:00
parent 368136884f
commit a13283b73d
1 changed files with 38 additions and 0 deletions

View File

@ -718,6 +718,44 @@ Pour avoir une meilleure lecture des slow query, on peut utilisé la commande [m
# mysqldumpslow /var/log/mysql/mysql-slow.log
~~~
### pt-query-digest
Un outil de Percona disponible dans le paquet `percona-toolkit`, pt-query-digest, permet de faire une analyse des slows query, il suffit de lui passer en paramètre le fichier de log des slows query :
~~~
# pt-query-digest /var/log/mysql/mysql-slow.log
~~~
**ATTENTION** : Si le fichier de slow query est trop lourd, il n'est pas recommandé de l'analyser sur un serveur de production, car l'analyse peut nécessiter un cœur CPU à 100%, pendant quelques minutes.
Cet outil analyse le fichier `mysql-slow.log` et fait un rapport général des requêtes qui prennent le plus de temps, par temps de réponse, pourcentage dexécution, nombres d'appels et le type de requête.
Exemple :
~~~
# Profile
# Rank Query ID Response time Calls R/Call V/M Item
# ==== ================== ============== ===== ======= ===== =============
# 1 0x67A347A2812914DF 830.5323 62.8% 41 20.2569 87.06 SELECT foo_bar
# 2 0xC5C7772FD65D8C64 141.2796 10.7% 35 4.0366 0.07 SELECT lignes commandes lignes
# 3 0x6DEF8BB001FA8845 139.9141 10.6% 7 19.9877 0.04 SELECT commandes commandes_remboursements vendeurs_factures_remises paiements livraisons commandes_statut commandes_groupes acheteurs codes_promos adresses pays adresses pays vendeurs adresses pays
# 4 0xC8A44AAD56105646 41.5405 3.1% 17 2.4436 0.02 SELECT produits_tendances vendeurs declinaisons texteproduits produits_tendances
# 5 0xFD38100E607E1331 26.7823 2.0% 2 13.3912 5.07 SELECT OUTFILE commandes_etiquettes
# 6 0xFD7F7A9702EE1C3C 21.4709 1.6% 6 3.5785 0.00 UPDATE commandes
# 7 0xE63D0402530F63BE 9.5435 0.7% 4 2.3859 0.00 UPDATE commandes
# 8 0x4EEE742BBDA4EE47 8.9621 0.7% 2 4.4810 0.02 SELECT OUTFILE vendeurtracking
# 9 0xB28EA31EC4438F2F 8.6173 0.7% 2 4.3087 0.02 SELECT OUTFILE lignes
# 10 0xFFAD96608E3F459B 6.7241 0.5% 2 3.3620 0.38 SELECT produits_tendances vendeurs declinaisons texteproduits produits_tendances
~~~
Puis il détaille, pour chaque requêtes, le temps dexécution, de lock, de colonnes envoyées et les colonnes examinées, les bases qui sont impacté par la requête, la taille de la requête et la requête complète.
Une astuce pour analyser les requêtes de tout le serveur MySQL et pas seulement les slow query, serait de mettre la valeur `long_query_time=0` pendant quelques heures et de d'analyser le fichier de log avec *pt-query-digest*.
Attention cependant, avec `long_query_time=0` la taille du fichier de logs peux grossir très vite, il faut donc surveiller l'espace disque.
### Lister les variables de configuration