Salut tout le monde,
J'aimerai réaliser pour un site ou je travaille un audit de la base de donnée sous mysql (MySQL 4.0.25-standard).
Il me faudrait par exemple une log sur 24h de toutes les requêtes exécutés, le temps que ça a pris etc...
Je sais que des outils spécifiques existent pour certain SGBD, comme un truc de Oracle qu'on utilise au boulot, mais je ne sais pas ce qui existe pour mysql spécifiquement.
J'ai accès via phpmyadmin a quelques infos du style le nombre de requête par type, les process (donc les requêtes) en cours, mais rien de bien utilisable.
Le but est bien sûr de repérer les requêtes les plus couteurs (temps d'exec / nombre d'exécution) pour pouvoir améliorer le schéma de la base.
Si vous connaissez des outils ou des solutions,
Marchi ^^
Rien qu'en allant dans phpMyAdmin (si tu peux), tu as un bouton "Etat" (dispo dès la page d'accueil) qui te donne accès à pas mal d'infos qui peuvent t'être utiles pour commencer.
Finalement tu as réussi à mettre en place un truc qui convient ?
Je n'ai pas la main sur la base elle même en fait (cad je ne peux pas la rebooter).
Et pour activer la log des 'slow queries', il faut rebooter la base (non activé par défaut). Tout ça est géré par le prestataire qui héberge pdafrance, donc ça prends un peu de temps.
Je crois que je vais adopter une autre approche, c'est à dire de regarder les pages qui ont le plus de hit, et d'optimiser ensuite les requêtes qu'elles contiennent.
Probablement pas des grosses optimisations, mais multiplié par la masse cela peut se révéler intéressant.
vince Le 01/08/2006 à 22:51 Installes donc MYSQL ADMINISTRATOR (dispo sur le site officiel de mysql) qui te fournira normalement un accès aux logs de la bdd.
En suite tu vas dans la partie "startup variables" et tu actives le "slow log"
il te permettra de repérer les requètes par temps d'exécution avec un notion de seuil
ça ne fait pas un audit complet dans la mesure ou ça nécessitera un peu d'analyse mais jusqu'à présent cet outil m'a largement suffit
Il doit être installé sur le serveur ou sur un quelconque autre pc client ?
vince Le 06/08/2006 à 12:01 il vaut mieux le mettre sur le serveur car certaines opérations ne sont pas possibles en remote access (je pense particulièrement à tout ce qui modifie le fichier my.ini)