2010-12-20 1 views
2

J'ai mysql qui est utilisé sur le serveur de production pour l'application php webshop.Comment vérifier les performances de MySQL?

parfois cela fonctionne très lentement. donc, je vais changer les index pour plusieurs tables.

mais avant cela, je dois faire une sorte de "snapshot" des performances actuelles (plusieurs fois par jour). après cela, je vais changer d'index, et créer de nouveaux "instantanés de performance". Ensuite, je vais faire quelques changements supplémentaires dans la base de données, et fait un autre "instantané des performances".

comment puis-je faire cette "instantané de performance"? Est-il possible d'utiliser une sorte d'outil, ou de contrôler certains logs, ou ...?

si vous pouvez m'aider à faire cela.

merci d'avance!

Répondre

1

Si vous voulez acheter un produit commercial, il y a le MySQL Query Analyzer

Sinon, vous pouvez utiliser le Générateur de profils SQL qui est déjà inclus avec MySQL. Le profileur SQL est intégré au serveur de base de données et peut être dynamiquement activé/désactivé via l'utilitaire client MySQL. Pour commencer le profilage une ou plusieurs requêtes SQL, exécutez simplement la commande suivante:

mysql> set profiling=1; 

Par la suite, vous verrez la durée de chacune de vos requêtes que vous les exécutez.

+0

bonne, mais les requêtes sont exécutées par le script php. aussi, l'application est en production, donc je ne peux rien changer dans les scripts existants. – user198003

+1

@user: Ce n'est pas parce qu'il s'exécute dans un script PHP que vous ne pouvez pas exécuter des exemples de requêtes manuellement. –

Questions connexes