Heim > Artikel > tägliche Programmierung > Wir stellen das Echtzeit-Leistungsüberwachungstool von MySQL vor
Echtzeit-Leistungsstatusdaten des Betriebssystems und der MySQL-Datenbank sind besonders wichtig, insbesondere wenn es zu Leistungsschwankungen kommt. Diese Echtzeit-Leistungsdaten können Ihnen dabei helfen, die Leistung von schnell zu ermitteln Engpässe im System oder in der MySQL-Datenbank: Genauso wie Sie auf einem Linux-System Befehlstools wie „top, sar, iostat“ verwenden, können Sie sofort feststellen, ob der Leistungsengpass des Betriebssystems auf E/A oder CPU liegt um diese Leistungsdaten zu sammeln/anzuzeigen. Welche wichtigen Echtzeit-Leistungsstatusindikatoren können die Leistungslast des Systems und der MySQL-Datenbank widerspiegeln?
Derzeit ist die Ausführung von MySQL unter Linux für die meisten Internetunternehmen Standard. Die Leistungsdatenindikatoren im obigen Bild sind die Echtzeitindikatoren, die meiner Meinung nach unter Linux wichtiger sind , MySQL und InnoDB. Die Spalte „Doing“ im obigen Bild ist jedoch tatsächlich wichtiger. Der Grund, warum sie „Doing“ heißt, liegt darin, dass Indikatorelemente wie „Prozessliste, Engine-Innodb-Status, Sperren“ tatsächlich widerspiegeln, was MySQL ist zu diesem Zeitpunkt tun.
Werfen wir einen Blick auf die Oracle-Datenbank. Die Oracle-Datenbank bietet viele Diagnosetools wie „AWR, ASH, SQL Monitor“ usw. Sie können es auf einen Blick sehen Was die Datenbank tut. Sie können sogar die Leistungsauslastung und die Leistung der Datenbank zu jedem Zeitpunkt in den letzten 30 Tagen erfahren.
Obwohl es in MySQL hervorragende Überwachungstools wie „zabbix, PMM“ gibt, können diese nur einige Leistungsdatenkurven des Datenbankverlaufs widerspiegeln. Beispielsweise ist TPS hoch, temporäre Tabellen werden zu häufig verwendet und InnoDB Deadlocks, aber für das, was MySQL damals machte, kann ich nur sagen, dass es nicht direkt genug war. Wenn Sie vor Ort sind, können Sie sehen, was MySQL tut, aber es gibt immer Zeiten, in denen Sie nicht vor Ort sind. Wenn Sie gefragt wurden, was der Grund für den Leistungszitter der Datenbank gestern Abend war? Wie kann die Szene schnell reproduziert werden, um die Ursache des Jitters zu finden?
Die Antwort ist die Verwendung von „doDBA tools“, einem kostenlosen konsolenbasierten Überwachungstool.
Was sind doDBA-Tools?
doDBA-Tools sind ein konsolenbasiertes Remote-Überwachungstool. Es erfordert keine Installation von Software auf dem lokalen/Remote-System. Es kann Daten in Echtzeit erfassen Daten zum Betriebssystem MySQL, InnoDB liefert Echtzeit-Leistungsstatusdaten und kann Doing-Protokolldateien generieren, um Ihnen zu helfen, das System und die MySQL-Datenbank schnell zu verstehen/zu optimieren.
Funktionen
基于golang语言开发 可收集Linux、MySQL相关性能数据 可本地或远程收集,可多台 mytop --Like Linux TOP 基于并发生成Doing日志,复现现场 可记录到日志文件 doDBA tools 工作原理
Erfassen Sie Systeminformationen aus der Ferne, indem Sie über SSH eine Verbindung zum Remote-Server herstellen (Benutzername und Passwort oder Vertrauensstellung herstellen). andere Dateien, was mit der Erfassungsmethode von pmm und zabbix übereinstimmt. meminfo,diskstats,uptime,net,vmstat ,cpuinfo ,loadavg
erteilen. PROCESS、SELECT权
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 doDBASie können es direkt nach dem Herunterladen verwenden und es ist nicht von einer Umgebung abhängig.
./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.Nutzungsbeispiele1. Linux-Leistungsdaten sammeln
./doDBA -h=10.1.x.xx -sys
3. Sammeln Sie InnoDB-Leistungsdaten
4 Daten
./doDBA -h=10.1.x.xx -mysql
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教程
Das obige ist der detaillierte Inhalt vonWir stellen das Echtzeit-Leistungsüberwachungstool von MySQL vor. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!