Maison > Article > programmation quotidienne > 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 ?
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.
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
2. . Collectez les données de performances MySQL
./doDBA -h=10.1.x.xx -mysql
3. Collectez les données de performances InnoDB
./doDBA -h=10.1.x.xx -innodb
4. data
./doDBA -h=10.1.x.xx -myall
5. mytop --like linux top
./doDBA -h=10.1.x.xx -mytop
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
8. 开启Doing功能
使用【-t】参数可以基于Threads_running的数量设置阈值,设置后可记录「processlist,engine innodb status」信息到dodba.log日志中,--复现现场。
/doDBA -h=10.1.x.xx -myall -t=3
9. 查看Doing日志
tail -f dodba.log
以上就是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!