程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> MySQL監控常規監控內容介紹

MySQL監控常規監控內容介紹

編輯:關於SqlServer
 

MySQL越來越被更多企業接受,隨著企業發展,MySQL存儲數據日益膨脹,MySQL的性能分析、監控預警議題越來越多,本文主要介紹MySQL日常監控的一些指標及簡要的空方法。

1   負載狀況監控
  最大連接上限 (max_connections) 
mysql> show variables like 'max_conn%'
在使用MySQL數據庫的時候,經常會遇到這麼一個問題,就是“Can not connect to MySQL server. Too many connections”-mysql 1040錯誤,這是因為訪問MySQL且還未釋放的連接數目已經達到MySQL的上限
  歷史最大連接數 (Max_used_connections)
Mysql> show status like 'Max_used%';
這個參數的值,為設置最大連接數上限提供了參考依據
  當前連接數 (Threads_connected)
mysql> show status like 'Threads_con%';
當前數據庫的連接數量,此值如果不斷增大,那麼需要注意及時調整最大連接上限值
  創建的總線程數 (Threads_created)
Mysql> show status like 'Threads_created';
Mysql> show status like 'connections';
如果Threads_created除以connections的值大於10%,說明線程連接緩存命中率偏低,應該增加thread_cache_size的大小

2   性能監控指標
  QPS(每秒Query量)
QPS = Questions(or Queries) / seconds
mysql > show  global  status like 'Question%';
  TPS(每秒事務量)
TPS = (Com_commit + Com_rollback) / seconds
mysql > show global status like 'Com_commit';
mysql > show global status like 'Com_rollback';
具體如何計算QPS和TPS,請參考 
http://blog.itpub.net/22664653/viewspace-767265/

3   主從復制狀態監控
  查看主從不同步的方法
(1)   通過Seconds_Behind_Master查看
mysql> show slave status\G;

通過show slave status查看到的Seconds_Behind_Master,從字面上來看,他是slave落後master的秒數,一般情況下,也確實這樣,我們可以通過Seconds_Behind_Master數字查看slave是否落後於master。官方對Seconds_Behind_Master闡述如下:In essence, this field measures the time difference in   seconds between the slave SQL thread and the slave I/O thread.很清晰的表明,該值是SQL thread、I/O thread.之間的差值。
當在很快的網絡連接情況下,I/O thread. 能很快的從master的binlog中同步sql到slave的relay-log裡,這樣,這個值就能基本確定的slave落後master的秒數
當網絡環境特別糟糕的情況下,這個值確會讓我們產生幻覺,I/O thread同步很慢,每次同步過來,SQL thread就能立即執行,這樣,我們看到的Seconds_Behind_Master是0,而真正的,slave已經落後master很多很多。

(2)     通過查看中繼日志的數量來判斷,如果你發現I/O,sql線程都是ok的,但是有大量的relay-bin*日志在等待著sql線程處理,這時基本上可以判斷從庫已落後的主從很遠


4   慢查詢語句提取
Mysql> show variables like “slow_query_log”;
如果狀態為on,表示開啟,如果狀態為off,那麼通過“set global slow_query_log=on;”命令開啟。 
用工具mysqldumpslow提取慢查詢語句(top 10)
/path/mysqldumpslow -s c -t 10 /database/mysql/slow-log
這會輸出記錄次數最多的10條SQL語句,其中:
·       -s, 是表示按照何種方式排序,c、t、l、r分別是按照記錄次數、時間、查詢時間、返回的記錄數來排序,ac、at、al、ar,表示相應的倒敘;
·       -t, 是top n的意思,即為返回前面多少條的數據;
·       -g, 後邊可以寫一個正則匹配模式,大小寫不敏感。

   
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved