1. 程式人生 > >Mysql資料庫監控

Mysql資料庫監控

一、當前執行緒連線數

show global status like 'threads_%';

Threads_cached:當前此時此刻執行緒快取中有多少空閒執行緒;

Threads_connected:代表當前已建立連線的數量,因為一個連線需要一個執行緒,也可以看成當前被使用的執行緒數;

Threads_created:代表從最近一次服務啟動,已經建立執行緒的數量;

Threads_running:代表當前啟用(非睡眠)的執行緒數。

 

二、連線數和最大連線數

show global status like '%connections';

Connections

:試圖連線到MySQL伺服器的連線數;

Max_used_connections:伺服器啟動後已經同時使用的連線的最大數量(這個是連線的最大峰值,主要和引數max_connections對比來決定是否調整引數)

執行緒快取命中率=1-Threads_created/Connections。

 

三、連線失敗的執行緒

show global status like '%abort%';

Aborted_clients:當ablort clients增大的時候意味著有客戶端成功建立連線,但是很快就斷開連線或者被終止了,這種情況一般發生在網路不穩定的環境中。

a)客戶端沒有主動關閉mysql連線mysql_close()

b)wait_timeout設定很短被mysql幹掉了

c)客戶端由於某些原因被幹掉了,異常終止

Aborted_connects:當有大量的連結連線不上mysql的時候,這個數值就會激增。

a)沒有授權或者密碼不對,一般錯誤日誌中會有如下報錯(Access denied for ‘user’@‘host’)

b)連線數滿了,一般報錯包含(too many connections)

c)超過連結時間限制,主要由這個引數控制connect_timeout(mysql預設是10s,基本除非網路環境極端不好,一般不會超時。)

 

四、鎖相關的狀態量

show global status like '%table_lock%';

 

五、慢查詢次數相關的狀態量

show global status like '%slow_queries%';

QPS(每秒Query數,針對於innodb儲存引擎)

TPS(每秒事務數,針對於innodb儲存引擎)