MYSQL監控工具--mytop


https://mp.weixin.qq.com/s/1X_uZaajImRRmpAsdLsNGw

mysql可以說如今最為流行的數據庫了,雖然現在nosql的風頭正盛。但我想很多公司重要的業務數據不會用nosql去跑。而在這些方面mysql似乎的使用更盛(開源免費,讓我花錢去買oracle,我想我是不會買的)。君不見taobao、騰訊、facebook這些牛X的IT公司們都自己去修改mysql,將核心業務數據運行在mysql之下。

而平時要對mysql的運行性能進行監控的話工具也非常多。強大復雜的有 oracle官方提供的mysql 企業監控器(當然是收費的),當然開源的配置nagios、cacti上運行的mysql-monitor插件也不少。而想要實時的觀察的話,也有mytop、mycheckpoint(繪圖顯示)、mtop(托管在sourceforge,從04年至今沒見更新了。還有一個mongodb 的監控工具也要mtop,托管在github)等等。

 


Linux 有個非常有用的
top 命令,可以查看操作系統的性能狀態,mytop 命令類似 top 命令,界面結構也類似,只是 mytop 顯示的是 mysql 的狀態信息,例如我們非常關心的

QPS 指標

使用說明

 

mytop 的結果信息主要分為上下兩個部分,上面是各項指標,下面是線程列表

第1行很簡單,就是版本信息

第2行是整體信息

 

Queries 服務器處理過的query總數

qps 每秒處理的query數量的平均值

Slow 慢查詢總數

Se/In/Up/De(%) Select,Insert,Update,Delete 各自的占比

第3行是實時信息,本刷新周期內的信息統計,刷新周期是在配置文件中指定

 

qps now 本周期內的每秒處理query的數量

Slow qps 本周期內的每秒慢查詢數量

Threads 當前連接線程數量,后面括號內的第一個數字是active狀態的線程數量,第二個數字是在線程緩存中的數量

最后一列是本周期內的 Select,Insert,Update,Delete 各自的占比

 

Key Efficiency 表示有多少key是從緩存中讀取,而不是從磁盤讀取的

Bps in/out 表示mysql平均的流入流出數據量

Now in/out
是本周期內的流入流出數據量

剩下的就是線程信息列表

 

列出了當前的mysql線程,根據idle狀態時間排序,通過o 鍵可以選擇升序或降序

列表中顯示出各線程的詳細信息,例如 線程ID、用戶名、客戶端的地址、連接的數據庫名稱、詳細查詢語句

會發現 "show full processlist" 一直都在,因為 mytop 會使用這個語句收集 mysql 信息

輔助命令

mytop 提供了一些有用的命令,在運行界面按下相應按鍵即可

例如按下?,會進入幫助界面

其他示例:

按鍵 h 可以根據客戶端地址進行過濾

按鍵s 可以根據用戶名進行過濾

按鍵k 可以殺死某個線程

按鍵m 進入QPS模式,只是動態顯示QPS數量

 

安裝配置

安裝

以 centos7 為例,執行以下幾個命令即可

rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
yum install yum-plugin-protectbase.noarch -y
yum install mytop -y

配置

vi /root/.mytop

寫入如下內容:

host=localhost

user=root

pass=111111

db=mysql

port=3306

socket=/tmp/mysql.sock

delay=5

batchmode=0

color=1

idle=1

保存退出

其中就是mysql的連接信息和基本配置

pass是密碼,如果感覺不安全,可以不指定,在執行 mytop 命令時再輸入,執行方式:mytop --prompt

delay 指定 mytop 多長時間刷新一次,也就是前面所說的刷新周期

安裝配置完成后,執行mytop 命令就可以了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM