Maison  >  Article  >  programmation quotidienne  >  Présentation de l'outil de surveillance des performances en temps réel de MySQL

Présentation de l'outil de surveillance des performances en temps réel de MySQL

WJ
WJavant
2020-06-06 17:11:435667parcourir

Présentation de l'outil de surveillance des performances en temps réel de MySQL

Les données sur l'état des performances en temps réel du système d'exploitation et de la base de données MySQL sont particulièrement importantes, en particulier en cas d'instabilité des performances. Ces données de performances en temps réel peuvent vous aider à localiser rapidement les performances de. le système ou la base de données MySQL, tout comme vous utilisez des outils de commande tels que "top, sar, iostat" sur un système Linux, vous pouvez immédiatement déterminer si le goulot d'étranglement des performances du système d'exploitation concerne les E/S ou le CPU, c'est donc plus important. pour collecter/afficher ces données de performances. Quels indicateurs importants d'état de performance en temps réel peuvent refléter la charge de performance du système et de la base de données MySQL ?

Présentation de loutil de surveillance des performances en temps réel de MySQL

Actuellement, l'exécution de MySQL sous Linux est la norme pour la plupart des sociétés Internet. Les indicateurs de données de performance dans l'image ci-dessus sont les indicateurs en temps réel qui, à mon avis, sont plus importants sous Linux. , MySQL et InnoDB, cependant, la colonne Doing dans l'image ci-dessus est en réalité plus importante. La raison pour laquelle elle est appelée Doing est que les éléments indicateurs tels que "liste de processus, statut innodb du moteur, verrous" reflètent vraiment ce qu'est MySQL. faire en ce moment.

Présentation de loutil de surveillance des performances en temps réel de MySQL

Jetons un coup d'œil à la base de données Oracle. La base de données Oracle fournit de nombreux outils de diagnostic tels que "AWR, ASH, SQL Monitor", etc. Vous pouvez voir en un coup d'œil ce qui se passe. que fait la base de données. Quoi, vous pouvez même connaître la charge de performances et ce que faisait la base de données à tout moment au cours des 30 derniers jours.

Bien qu'il existe d'excellents outils de surveillance tels que "zabbix, PMM" dans MySQL, ils ne peuvent refléter que certaines courbes de données de performances de l'historique de la base de données. Par exemple, le TPS est élevé, les tables temporaires sont trop utilisées et. InnoDB Deadlocks, mais pour ce que MySQL faisait à l'époque, je peux seulement dire que ce n'était pas assez direct. Si vous êtes sur place, vous pouvez comprendre ce que fait MySQL, mais il y a toujours des moments où vous n'êtes pas sur place. Si on vous demandait quelle était la raison de la gigue des performances de la base de données la nuit dernière ? Comment reproduire rapidement la scène pour trouver la cause du jitter ?

La réponse est d'utiliser les "outils doDBA", qui sont un outil de surveillance gratuit basé sur une console.

Qu'est-ce que les outils doDBA ?

Les outils doDBA sont un outil de surveillance à distance basé sur une console. Il ne nécessite l'installation d'aucun logiciel sur le système local/distant. données sur le système d'exploitation MySQL, InnoDB fournit des données sur l'état des performances en temps réel et peut générer des fichiers journaux Doing pour vous aider à comprendre/optimiser rapidement le système et la base de données MySQL.

Fonctionnalités

基于golang语言开发
可收集Linux、MySQL相关性能数据
可本地或远程收集,可多台
mytop --Like Linux TOP
基于并发生成Doing日志,复现现场
可记录到日志文件
doDBA tools 工作原理

Collectez à distance les informations système en vous connectant au serveur distant via ssh (nom d'utilisateur et mot de passe ou établissement de la confiance). La méthode de collecte consiste à lire le fichier proc Linux meminfo,diskstats,uptime,net,vmstat ,cpuinfo ,loadavg et d'autres fichiers, ce qui est cohérent avec la méthode de collecte de pmm et zabbix.

Collectez des informations MySQL à distance en vous connectant à la base de données MySQL via MySQL TCP. Il vous suffit d'accorder à l'utilisateur de connexion l'autorisation PROCESS、SELECT权.

La collecte des informations système et des informations MySQL peut être séparée. Si vous souhaitez uniquement collecter des informations système, il vous suffit de fournir le nom d'utilisateur et le mot de passe du système. Si vous collectez uniquement MySQL, vous ne pouvez fournir que MySQL. informations de connexion. Si vous êtes un utilisateur rds, vous pouvez utiliser le paramètre -rds, la collecte des informations système sera automatiquement ignorée lors de l'utilisation de mytop.

Comment utiliser

Github主页:
https://github.com/dblucyne/dodba_tools
Download:
wget https://raw.githubusercontent.com/dblucyne/dodba_tools/master/doDBA --no-check-certificatewget https://raw.githubusercontent.com/dblucyne/dodba_tools/master/doDBA.conf --no-check-certificatechmod +x doDBA

Vous pouvez l'utiliser directement après l'avoir téléchargé, et cela ne dépend d'aucun environnement.

Aide à l'utilisation :

./doDBA -help
  -c string
    configuration file.(default "doDBA.conf")
  -h string
    Connect to host/IP.
  -sys
    Print linux info.
  -myall
    Print linux and mysql info.
  -mysql
    Print mysql info.
  -innodb
    Print innodb info.
  -mytop
    Print mysql prcesslist,like top.
  -i duration
    refresh interval in seconds.(1s)
  -t int
    doing on Threads_running.(50)  
 -rds        
   Ignore system info.
  -log
    Print to file by day.
  -nocolor
    Print to nocolor.

Exemples d'utilisation

1. Collecter les données de performances de Linux

./doDBA -h=10.1.x.xx -sys

Présentation de loutil de surveillance des performances en temps réel de MySQL

2. . Collectez les données de performances MySQL

./doDBA -h=10.1.x.xx -mysql

Présentation de loutil de surveillance des performances en temps réel de MySQL

3. Collectez les données de performances InnoDB

./doDBA -h=10.1.x.xx -innodb

Présentation de loutil de surveillance des performances en temps réel de MySQL

4. data

./doDBA -h=10.1.x.xx -myall

Présentation de loutil de surveillance des performances en temps réel de MySQL

5. mytop --like linux top

./doDBA -h=10.1.x.xx -mytop

Présentation de loutil de surveillance des performances en temps réel de MySQL

6. 借助Shell收集多台

cat ip.txt
10.1.x.x110.1.x.x2
Shell
cat ip.txt | while read ip;  do  echo $ip; ./doDBA -h=$ip -mysql -log </dev/null &  done

7. 收集到日志文件

./doDBA -h=10.1.x.xx -mysql -log

Présentation de loutil de surveillance des performances en temps réel de MySQL

8. 开启Doing功能

使用【-t】参数可以基于Threads_running的数量设置阈值,设置后可记录「processlist,engine innodb status」信息到dodba.log日志中,--复现现场。

/doDBA -h=10.1.x.xx -myall -t=3

Présentation de loutil de surveillance des performances en temps réel de MySQL

9. 查看Doing日志

tail -f dodba.log

Présentation de loutil de surveillance des performances en temps réel de MySQL

Présentation de loutil de surveillance des performances en temps réel de MySQL

以上就是MySQL 的实时性能监控利器的全部内容。

相关参考:MySQL教程

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer