搜尋
首頁每日程式設計mysql知識介紹MySQL的即時效能監控利器

介紹MySQL的即時效能監控利器

Jun 06, 2020 pm 05:11 PM
mysql

介紹MySQL的即時效能監控利器

作業系統及mysql資料庫的即時效能狀態資料特別重要,特別是在有效能抖動的時候,這些即時的效能資料可以快速幫助你定位系統或MySQL資料庫的效能瓶頸,就像你在Linux系統上使用「top,sar,iostat」等指令工具一樣,可以立刻定位OS的效能瓶頸是在IO還是CPU上,所以收集/展示這些效能資料就更為重要,那都有哪些重要的即時效能狀態指標可以反應出系統和MySQL資料庫的效能負載呢?

介紹MySQL的即時效能監控利器

目前在Linux跑MySQL是大多數網路公司的標配,以上圖片的效能資料指標項目是我認為在Linux,MySQL,InnoDB中較為重要的即時狀態數據,然而在以上圖片Doing一欄其實更為重要,之所以把它叫做Doing,是因為「processlist,engine innodb status,locks」等指標項目才真正反映了MySQL此時正在做什麼。

介紹MySQL的即時效能監控利器

我們來對標Oracle資料庫看一下,在Oracle資料庫中提供了「AWR,ASH,SQL Monitor」等眾多診斷工具,可以一眼望穿資料庫正在做什麼,甚至都可以知道在過去30天內任何一個時間區間的效能負載和當時資料庫正在做什麼。

在MySQL中雖然有像「zabbix,PMM」等優秀的監控工具,但它們只能反映資料庫歷史的一些效能資料曲線,例如,TPS高了,臨時表使用多了,有InnoDB Deadlocks,但對於MySQL當時的Doing,我只能說不夠直接。如果你在現場,你可以抓到MySQL正在做什麼,但是,你總有不在現場的時候,如果問你昨天晚上資料庫的效能抖動是什麼原因?怎樣快速重現現場找到引起抖動的原因呢?

答案是可以使用“doDBA tools”,這是一款免費的基於控制台監控工具。

doDBA tools是什麼

doDBA tools是一個基於控制台的遠端監控工具,它不需要在本地/遠端系統上安裝任何軟體,它可以即時收集作業系統、MySQL、 InnoDB的即時效能狀態數據,並且可以產生Doing日誌文件,來幫助你快速了解/優化系統及MySQL資料庫。

特點

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

遠端收集系統資訊是透過ssh(使用者名稱密碼或建立信任)的方式連接到遠端伺服器上收集,收集的方法都是透過讀取Linux的proc下的等meminfo,diskstats,uptime,net,vmstat ,cpuinfo ,loadavg等文件,這和pmm,zabbix收集方式一致。

遠端收集MySQL資訊是透過 MySQL tcp連接到MySQL資料庫上收集,只需要授予連接使用者PROCESS、SELECT權限限即可。

系統資訊和MySQL資訊的收集可以分離,如果只想收集系統信息,只需要提供系統用戶名密碼即可,如果只收集MySQL可以只提供MySQL連接信息,如果是rds用戶,可以使用-rds參數,在使用mytop時會自動忽略系統資訊的收集。

如何使用

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

下載下來就可以直接使用,不依賴任何環境。

使用說明:

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

使用實例

1. 收集Linux效能資料

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

介紹MySQL的即時效能監控利器

2 . 收集MySQL效能資料

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

介紹MySQL的即時效能監控利器

3. 收集InnoDB效能資料

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

介紹MySQL的即時效能監控利器

4. 收集MySQL及Linux效能資料

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

介紹MySQL的即時效能監控利器

5. mytop --like linux top

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

介紹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

介紹MySQL的即時效能監控利器

8. 开启Doing功能

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

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

介紹MySQL的即時效能監控利器

9. 查看Doing日志

tail -f dodba.log

介紹MySQL的即時效能監控利器

介紹MySQL的即時效能監控利器

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

相关参考:MySQL教程

以上是介紹MySQL的即時效能監控利器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:51dev。如有侵權,請聯絡admin@php.cn刪除
如何保護MySQL Server免受未經授權的訪問?如何保護MySQL Server免受未經授權的訪問?Mar 20, 2025 pm 03:20 PM

本文討論了通過密碼管理,使用遠程訪問,使用加密和常規更新來確保MySQL服務器免於未經授權的訪問。它還涵蓋監視和檢測可疑活動以提高安全性。

您如何使用角色管理用戶權限?您如何使用角色管理用戶權限?Mar 20, 2025 pm 03:19 PM

本文討論了使用角色有效管理用戶權限,詳細介紹角色定義,權限分配和動態調整。它強調了基於角色的訪問控制以及角色如何簡化用戶管理ACR的最佳實踐

如何在MySQL中設置用戶帳戶密碼?如何在MySQL中設置用戶帳戶密碼?Mar 20, 2025 pm 03:18 PM

本文討論了設置和確保MySQL用戶帳戶密碼,密碼安全性的最佳實踐,遠程密碼更改以及確保符合密碼策略的方法。

MySQL中有哪些不同類型的特權?MySQL中有哪些不同類型的特權?Mar 20, 2025 pm 03:16 PM

文章討論了MySQL特權:全局,數據庫,表,列,例程和代理用戶類型。它解釋了授予,撤銷特權和安全管理的最佳實踐。突出了過度的風險。

您如何使用贈款說明向用戶授予特權?您如何使用贈款說明向用戶授予特權?Mar 20, 2025 pm 03:15 PM

本文解釋了SQL中贈款語句的使用來分配各種特權,例如選擇,插入和更新到用戶或特定數據庫對像上的角色。它還涵蓋了通過撤銷聲明並授予特權的撤銷特權

如何使用創建用戶語句在MySQL中創建用戶?如何使用創建用戶語句在MySQL中創建用戶?Mar 20, 2025 pm 03:14 PM

文章討論使用創建用戶語句,分配特權,設置密碼和選擇用戶名來創建MySQL用戶。

您如何授予執行存儲過程和功能的權限?您如何授予執行存儲過程和功能的權限?Mar 20, 2025 pm 03:12 PM

文章討論了授予有關存儲過程和功能的執行權限,重點介紹了SQL命令和最佳實踐,以實現安全的多用戶數據庫管理。

如何從另一個存儲過程或功能調用存儲過程?如何從另一個存儲過程或功能調用存儲過程?Mar 20, 2025 pm 03:11 PM

本文討論了從其他存儲過程或功能中調用存儲過程,重點是SQL Server。它涵蓋語法,諸如模塊化和安全性,錯誤處理以及嵌套過程的設計注意事項。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能