Quel est le meilleur moyen de diagnostiquer et de profiler MySQL sur un serveur de production en direct?

StackOverflow https://stackoverflow.com/questions/618997

Question

Quels outils / méthodes recommandez-vous pour diagnostiquer et profiler MySQL dans le serveur de production live?

Mon objectif est de tester d'autres moyens de développer le système et de voir leur influence sur le temps de lecture / écriture, la mémoire, la charge du processeur, l'accès au disque, etc., ainsi que la recherche de goulots d'étranglement.

Était-ce utile?

La solution

Tout d’abord, vous devez configurer une sorte de surveillance avec, par exemple:

.

D'autres outils peuvent être utiles: mytop innotop mtop maatkit

De plus, vous devez activer la journalisation requêtes lentes dans votre compte. mon.cnf.

Avant de commencer à régler / modifier les paramètres, vous devez créer une sorte de plan de test et comparer les résultats avant / après pour voir si vos modifications eu un sens ou non.

Autres conseils

C’est quelque chose sur lequel j’ai beaucoup travaillé.

  • MonYog - service de surveillance MySQL. Nous l'utilisons en production. Ce n'est pas gratuit, mais il a beaucoup de fonctionnalités, y compris les alertes et les données historiques.

  • Moniteur d'entreprise MySQL - disponible avec MySQL Enterprise (c'est-à-dire , pas bon marché)

  • Rouler les vôtres!

À propos de l'option Rouler votre propre:

Nous avons en fait développé une application de surveillance vraiment géniale qui utilise l'outil RRD (utilisé par le système commun MRTG). ) et une combinaison de statistiques MySQL et de statistiques système, telles que iostat. Ce n’était pas seulement un excellent exercice mais nous donnait une tonne de flexibilité pour contrôler exactement ce que nous voulons à partir d’une interface unique.

Voici une Brève description . de certaines approches pour construire vos propres statistiques.

L’une de nos principales motivations, bien que nous utilisions également MonYog, était de suivre les statistiques du disque. Les entrées / sorties sur disque peuvent constituer un goulet d'étranglement majeur et les systèmes de surveillance MySQL standard ne disposent pas de surveillance des entrées / sorties. Nous utilisons iostat , qui fait partie de systat .

Nous avons une interface qui affiche des graphiques de statistiques MySQL à côté des statistiques d’entrées / sorties de disque, ce qui nous permet d’obtenir une image globale de la façon dont la charge de MySQL affecte les entrées / sorties de disque.

Avant cela, nous ne savions vraiment pas pourquoi nos applications de production s’enlisaient. Nous avons découvert que les entrées / sorties sur disque constituaient un problème majeur et que MySQL créait de nombreuses tables temporaires sur disque lorsque nous exécutions des requêtes complexes. Nous avons pu optimiser nos requêtes et améliorer considérablement les performances des disques.

Jet Profiler à coup sûr

Ajoutez également à la liste: RHQ 4 (source ouverte) - http://rhq-project.org/

Votez http://tinyurl.com/vote-gif ajouter à la liste:

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top