Comment surveiller l’état et les variables MySQL Avec Innotop

Ceci fait partie d’une série d’articles sur l’utilisation d’innotop, un moniteur MySQL et InnoDB. Dans cet article, je vais expliquer comment innotop peut faciliter la collecte d’informations utiles de SHOW STATUS et SHOW VARIABLES en un seul endroit. Il existe trois modes dans innotop qui le font de différentes manières, de sorte que l’un d’eux peut répondre à vos besoins.

Introduction

La sortie de SHOW STATUS et SHOW VARIABLES est l’un des outils les plus utiles pour dépanner un serveur MySQL et avoir une idée de son fonctionnement, de son type de charge de travail, etc. Au cas où vous ne les connaissiez pas, je vous recommande de les lire dans le manuel MySQL avant de lire le reste de cet article. Vous en tirerez plus de l’article si vous comprenez quelles informations se cachent derrière mes exemples.

La méthode la plus basique pour accéder à ces variables consiste à émettre une commande SHOW, mais le résultat est à peu près certain d’être une surcharge d’informations, même si vous utilisez LIKE pour contraindre les résultats. Une autre chose que vous devez souvent savoir est comment les valeurs changent au fil du temps; combien d’analyses de table se produisent par seconde, par exemple? Il est difficile de comparer rapidement les résultats des commandes SHOW, mais vous devez le faire pour comprendre ce qui se passe sur le serveur.

L’outil classique pour cela est le propre de MySQL mysqladmin. Vous pouvez l’exécuter avec les arguments -i et -r pour lui dire de continuer à imprimer des valeurs de temps en temps et d’imprimer la différence par rapport au dernier ensemble de valeurs lorsqu’il le fait. Une commande de base pour regarder les variables d’état peut être la suivante:

mysqladmin extended -i10 -r

Vous pouvez le faire passer par grep pour filtrer un peu les résultats.

Il y a clairement beaucoup de place à l’amélioration. J’ai inclus trois façons différentes de visualiser ces informations plus facilement et de manière flexible dans innotop, et je les expliquerai ensuite.

Première méthode: Mode V

Avant de commencer: Si ce n’est pas déjà fait, vous devez télécharger et installer innotop et exécuter ces exemples sur votre propre serveur. C’est beaucoup plus intéressant de voir comment fonctionne votre propre serveur. Et si vous n’êtes pas mis à niveau vers la dernière et la plus grande version d’innotop, cela en vaut la peine; il y a beaucoup plus de fonctionnalités dans chaque nouvelle version. Plus précisément, je vais montrer certaines fonctionnalités uniquement disponibles dans la version 0.1.139.

D’accord, passons aux bonnes choses. Démarrez innotop et passez en mode V avec la touche « V ». V signifie « Variables et état. »Il affiche un tableau avec une ligne pour chaque valeur choisie et une colonne pour chaque ensemble de valeurs que vous souhaitez afficher. Les valeurs peuvent être choisies parmi tout ce que vous pouvez trouver dans SHOW STATUS ou SHOW VARIABLES.

Permettez-moi d’expliquer cela un peu plus. La colonne la plus à gauche indique les valeurs que j’ai choisies d’afficher. Chaque ligne a une valeur. En allant vers la droite, vous voyez les valeurs elles-mêmes. Vous voyez d’abord les valeurs les plus récentes, puis celles d’avant, et ainsi de suite — jusqu’à la colonne d’extrême droite.

Il y a quelques choses à remarquer à propos de cet affichage:

  1. L’affichage est incrémental. Autrement dit, je n’affiche pas les valeurs réelles ici. J’affiche la différence entre les instantanés. Vous pouvez voir que la valeur Uptime est incrémentée de 60 dans chaque colonne successive. C’est parce que j’ai choisi un temps de sommeil de 60 secondes entre les instantanés. (Je choisis généralement Uptime comme première valeur afin que je puisse voir quelle plage de temps est affichée).
  2. La colonne d’extrême droite n’est pas incrémentale. C’est parce que c’est le premier instantané qu’innotop a en mémoire, il n’y a donc rien de plus tôt à en soustraire. De plus, vous ne voulez pas toujours connaître la différence entre les valeurs. Parfois, vous voulez connaître la valeur elle-même. Cela vous donne une ligne de base afin que vous puissiez voir les valeurs incrémentielles et absolues en même temps.
  3. La deuxième ligne de l’affichage, au-dessus du tableau des valeurs, vous indique les options d’affichage actuelles. Vous pouvez voir que l’incrémental est activé et que la moyenne par seconde est désactivée. Vous pouvez basculer cela avec les touches « i » et « a », de sorte que vous pouvez basculer instantanément entre plusieurs vues sur les données.
  4. L’affichage des numéros longs est activé. Vous pouvez l’activer et le désactiver avec la touche « l » (c’est un « L » minuscule) pour un affichage plus compact.

C’est une façon assez compacte de regarder 8 minutes d’historique pour le serveur, n’êtes-vous pas d’accord? Vous pouvez facilement obtenir beaucoup plus d’informations à partir de cet affichage qu’avec les autres méthodes dont j’ai parlé. Mais il y a plus!

  • J’inclus plusieurs choix prédéfinis de valeurs à afficher avec innotop. Vous pouvez basculer entre eux avec les touches « 0 » à « 9 ». Il existe des préréglages pour le cache de requêtes, les analyses de table et d’index, les variables InnoDB, les instructions de transaction, etc. Au total, il y a de la place pour dix ensembles de valeurs.
  • Vous pouvez personnaliser chaque jeu avec la touche « c ». Choisissez parmi n’importe quelle valeur de STATUT et de VARIABLES, comme je l’ai dit. Cela est enregistré dans votre fichier de configuration, il est donc là lorsque vous quittez et redémarrez innotop.
  • Vous pouvez choisir le nombre d’instantanés que vous souhaitez afficher, de 2 à 9, afin que vous puissiez décider de l’historique que vous souhaitez consulter sur un seul écran.

Méthode 2: modélisée d’après tload

Une autre façon de surveiller ces variables consiste à dessiner un graphique dans le style de tload. La théorie derrière ce mode est que vous choisissez quelques valeurs (avec la touche « c », comme d’habitude) et innotop mettra à l’échelle la moyenne par seconde des valeurs par rapport au maximum qu’il a jamais vu, et l’utilisera pour dessiner un joli graphique. Vous entrez en mode graphique avec la touche « G ».

Ce n’est pas tout à fait comme tload, car le graphique va de haut en bas, pas de gauche à droite. Il affiche périodiquement un en-tête, y compris la « valeur maximale » par rapport à laquelle il est mis à l’échelle.

En pratique, je n’ai pas encore tout à fait compris. Je ne sais pas comment l’adapter. Je n’ai aucun problème à faire le calcul, mais la mise à l’échelle par rapport à « la valeur maximale jamais vue » ne semble pas produire de bons résultats. Parfois, il en résulte un joli graphique; d’autres fois non. Je continue de penser qu’il doit y avoir un bon moyen de calculer la charge réelle du serveur, afin qu’il puisse être représenté de manière significative, mais je n’y pense pas. Des suggestions ?

Je ne suis pas très satisfait de ce mode. Si je n’arrive pas à trouver un moyen de le rendre plus utile, je peux me débarrasser de cette fonctionnalité, même si ce ne sont que quelques lignes de code.

Méthode 3: modélisé d’après vmstat

Mon collègue John a anticipé que le graphique ne serait pas si utile, à son grand mérite, et m’a demandé si je pouvais imiter vmstat et iostat au lieu de dessiner un graphique. Le résultat est le mode « S ». Il peut imprimer les mêmes informations que le mode « G », sauf qu’il imprime des valeurs au lieu d’un graphique.

Je pense que c’est plus utile que le mode « G », bien qu’il soit quelque peu redondant par rapport au mode « V » que j’ai démontré ci-dessus. Étant donné que les valeurs sont disposées sur l’écran et que le temps s’écoule de bas en haut de l’écran, vous pouvez adapter moins de valeurs à l’écran, mais vous pouvez afficher une fenêtre temporelle plus longue.

Récapitulatif des modes

Je viens de vous montrer trois modes dont innotop dispose pour surveiller l’état et les informations variables d’un serveur MySQL:

  1.  » Le mode V » imprime un tableau d’instantanés, avec de nombreuses options différentes.Le mode
  2. « G » essaie d’imprimer un graphique, mais ne fait pas toujours un très bon travail.
  3. Le mode « S » imprime quelque chose de similaire au mode « V », mais les données sont présentées différemment.

Les trois modes sont fondamentalement des façons différentes de regarder les mêmes valeurs. Il y a une certaine redondance parmi eux, mais parce qu’il faut si peu de code pour faire chacun d’eux, je ne me soucie pas de la redondance du point de vue du codage. Cela ne me dérange pas de maintenir trois fonctionnalités avec des fonctionnalités similaires, si cela donne plus de façons d’utiliser le moniteur.

Si vous avez des suggestions d’améliorations, j’attends de vos nouvelles 🙂

Résumé

Dans cet article, j’ai expliqué la façon à l’ancienne de surveiller la sortie de SHOW STATUS et SHOW VARIABLES, puis je vous ai montré comment innotop peut rendre cela beaucoup plus rapide et plus facile, et j’espère vous donner suffisamment de vues différentes sur les données que vous pouvez en trouver une que vous aimez.

Restez à l’écoute pour en savoir plus sur innotop; il y a beaucoup plus à dire! Vous pouvez vous abonner par flux ou par e-mail pour rester à jour.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.