Heim  >  Artikel  >  tägliche Programmierung  >  Wir stellen das Echtzeit-Leistungsüberwachungstool von MySQL vor

Wir stellen das Echtzeit-Leistungsüberwachungstool von MySQL vor

WJ
WJnach vorne
2020-06-06 17:11:435667Durchsuche

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?

Wir stellen das Echtzeit-Leistungsüberwachungstool von MySQL vor

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.

Wir stellen das Echtzeit-Leistungsüberwachungstool von MySQL vor

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

Erfassen Sie MySQL-Informationen aus der Ferne, indem Sie über MySQL TCP eine Verbindung zur MySQL-Datenbank herstellen. Sie müssen dem Verbindungsbenutzer lediglich die Berechtigung

erteilen. PROCESS、SELECT权

Die Erfassung von Systeminformationen und MySQL-Informationen kann getrennt werden. Wenn Sie nur Systeminformationen erfassen möchten, müssen Sie nur den Systembenutzernamen und das Kennwort angeben. Wenn Sie nur MySQL erfassen, können Sie nur MySQL angeben Wenn Sie ein RDS-Benutzer sind, können Sie mit dem Parameter -rds die Erfassung von Systeminformationen bei Verwendung von mytop automatisch ignorieren.

So verwenden Sie

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

Sie können es direkt nach dem Herunterladen verwenden und es ist nicht von einer Umgebung abhängig.


Nutzungshilfe:

./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.

Nutzungsbeispiele

1. Linux-Leistungsdaten sammeln

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

Wir stellen das Echtzeit-Leistungsüberwachungstool von MySQL vor

2 . Sammeln Sie MySQL-Leistungsdaten

Wir stellen das Echtzeit-Leistungsüberwachungstool von MySQL vor3. Sammeln Sie InnoDB-Leistungsdaten

4 DatenWir stellen das Echtzeit-Leistungsüberwachungstool von MySQL vor

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

5. mytop --like linux topWir stellen das Echtzeit-Leistungsüberwachungstool von MySQL vor

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

Wir stellen das Echtzeit-Leistungsüberwachungstool von MySQL vor

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

Wir stellen das Echtzeit-Leistungsüberwachungstool von MySQL vor

8. 开启Doing功能

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

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

Wir stellen das Echtzeit-Leistungsüberwachungstool von MySQL vor

9. 查看Doing日志

tail -f dodba.log

Wir stellen das Echtzeit-Leistungsüberwachungstool von MySQL vor

Wir stellen das Echtzeit-Leistungsüberwachungstool von MySQL vor

以上就是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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51dev.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen