Postgres stat sans nerfs ni tensions

Il y a quelques années, face à un autre problème dans les performances des postgres, j'ai dû me plonger dans les statistiques des postgres. En fouillant dans les vues et les fonctions, je me suis surpris à penser que travailler avec ce qui était par défaut n'était pas très pratique.

Et en fait, dans les postgres, beaucoup de métriques de toutes sortes, elles sont toutes présentées sous forme de représentations et de fonctions. D'une part, c'est très pratique, a écrit SELECT et a reçu les données. En revanche, de tels écrits périodiques sont un peu fatigants.

En même temps, je devais non seulement regarder une statue pour une seule fois, j'avais besoin de suivre son changement. Je ne me souviens pas de quoi il s'agissait, peut-être avez-vous dû examiner la modification du délai de réplication, ou à quelle fréquence une demande spécifique a été appelée ...
Alors, après m'être surpris à penser que j'avais assez d'outils pour moi, j'ai commencé à chercher des utilitaires pour ma tâche, mais hélas, je n'ai rien trouvé qui me conviendrait. C'est ainsi qu'estpgCenter .

Au départ, c'était un utilitaire de console et il a été conçu comme une chose facile à utiliser qui afficherait les changements dans les statistiques post-statistiques dans une interface de type top. Cependant, étant donné que lors du dépannage de postgres, vous devez toujours avoir des métriques système sous vos yeux, des statistiques système ont également été ajoutées ... cpu, mémoire, échange, utilisation du disque et de l'interface réseau. Ce n'est qu'alors que d'autres fonctions d'administration ont été ajoutées, telles que l'affichage de la configuration et la modification des configurations, l'utilisation des journaux, la possibilité de tirer des demandes et des clients. En général, le nombre de fonctions a progressivement augmenté ... et les utilisateurs ont proposé différentes idées pour améliorer encore l'outil. Aujourd'hui, après quelques développements, je suis enfin prêt à présenter une nouvelle version dans laquelle pgCenter a beaucoup changé.

Le changement principal et peut-être le plus important est que pgCenter est maintenant écrit en Go. C'était à l'origine en C, mais pour être honnête, sur Go, il est plus facile pour moi de mettre en œuvre des idées et d'ajouter de nouvelles fonctionnalités. Une autre caractéristique positive est la distribution - le fichier exécutable est un binaire que vous n'avez besoin que de télécharger, décompresser et utiliser.

Une autre grande innovation est que pgenter n'est plus seulement un visualiseur de haut niveau pour les statistiques. Désormais, les statistiques peuvent être transférées dans des fichiers locaux, puis consultées si nécessaire. Il est utilisé en l'absence de surveillance imputée ou lorsqu'il est nécessaire de collecter les statistiques lors de l'analyse comparative sur une machine virtuelle ou un conteneur temporaire. En conséquence, il s'est avéré une chose qui ressemble à un pack de statistiques Oracle ou par exemple sar du package sysstat . Dans ce cas, vous n'avez pas besoin de clôturer quoi que ce soit au niveau de la base, pas de fonctions supplémentaires, etc.

En conséquence, nous avons obtenu 3 utilitaires dans un binaire et ils sont tous appelés comme des sous-commandes distinctes comme cela ressemble à git ou perf .

Sur ce point, des innovations majeures se terminent et de petites améliorations demeurent. Ils sont principalement liés à la visionneuse supérieure:

  • Désormais, par défaut, au lieu des statistiques sur les bases de données, des statistiques d'activité s'affichent - qui est connecté, quelles requêtes sont exécutées, combien de temps, etc. L'expérience montre que le plus souvent, il est nécessaire d'évaluer l'activité en cours, il est donc probablement logique de montrer immédiatement cette statue particulière.
  • Dans les statistiques d'activité, vous pouvez désormais voir à la fois les processus d'arrière-plan (ajoutés dans postgres 10) et les clients inactifs qui ne font rien (activés par raccourci clavier). Auparavant, le ralenti n'était pas du tout montré, en raison de leur inutilité, mais peu de gens en ont soudainement besoin.
  • Les statistiques associées aux tables étaient auparavant affichées dans deux vues distinctes, maintenant toutes les statistiques sont combinées et affichées dans une seule vue.
  • La fonction de filtrage prend désormais en charge les expressions régulières, et vous pouvez définir de manière plus flexible les paramètres de ce que vous voulez voir exactement ... noms de table, index, fonctions, requêtes, etc.

Il est probable que j'ai oublié de mentionner quelques autres fonctionnalités, mais j'ai énuméré les plus intéressantes à mon avis.

Cela semble être tout, tous ceux qui utilisent déjà l'utilitaire que je vous conseille de mettre à jour, et tous ceux qui entendent pour la première fois, je vous invite à essayer ou à regarder une petite démo.



Il y a aussi une présentation du rapport, bien que l'ancienne version y soit décrite, mais il est logique d'y jeter un œil également.

Et bien sûr, j'attends des commentaires et des rapports de bogues. Passez une bonne journée à tous!

Source: https://habr.com/ru/post/fr425083/


All Articles