2008-09-28 7 views
2

Existe-t-il un moyen de voir un aperçu des types de requêtes qui passent le plus de temps chaque jour sur MySQL?Que fait MySQL en grande partie?

+0

http://stackoverflow.com/questions/20263/is-there-a-profiler-equivalent-for-mysql#82757 –

Répondre

5

Oui, MySQL peut créer un journal de requêtes lentes. Vous aurez besoin de commencer mysqld avec le drapeau --log-slow-queries:

mysqld --log-slow-queries=/path/to/your.log 

Ensuite, vous pouvez analyser le journal à l'aide mysqldumpslow:

mysqldumpslow /path/to/your.log 

Plus d'informations ici (http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html).

1

Cela dépend de ce que vous entendez par «le plus de temps». Il peut y avoir des milliers sinon des centaines de milliers de requêtes qui prennent chacune très peu de temps, mais consomment 90% de la bande passante CPU/E/S. Ou il peut y avoir quelques grandes valeurs aberrantes. Il existe des outils de surveillance et d'analyse des performances, tels que le PERFORMANCE_SCHEMA intégré, les outils d'entreprise de l'équipe Oracle/MySQL et des services en ligne tels que newrelic permettant de suivre les performances d'une pile d'applications complète.