1. 程式人生 > >MYSQL效能優化之Mysql資料庫監控

MYSQL效能優化之Mysql資料庫監控

監控物件

這裡寫圖片描述

資料庫可用性監控

  • 資料庫程序或是埠存在並不意味著資料庫就是可用的

  • 這裡寫圖片描述也就是說登陸伺服器,並且能正確執行mysql命令

  • 資料庫效能
    • QPS和DPS
    • 併發執行緒數量(同時執行sql語句的數量,不是連線數)
    • 對Innodb阻塞和死鎖進行監控
  • 分割槽磁碟空間

這裡寫圖片描述

防火牆的限制,TCP/IP可能被沾滿
確認資料庫是否可以連線
通過測試賬號ping命令返回的資訊判斷資料庫可以通過網路連線(批量)
這裡寫圖片描述
確定資料庫是否可讀寫
這裡寫圖片描述
監控資料庫的連線數
導致資料庫的連線數突然增長:

  • 出現阻塞(資料庫併發請求突增)
  • 像Memcahe這樣的快取失效
    這裡寫圖片描述
    當大於0.8時報警通知管理員。

資料庫效能監控

週期性執行show global status獲取QPS

這裡寫圖片描述

這裡寫圖片描述

MyISAM使用的是表級鎖,所有更容易阻塞(實時監控滿查詢來查看錶阻塞)

這裡寫圖片描述

查詢阻塞測試:
連線1(增加一個排它鎖):
這裡寫圖片描述
這裡寫圖片描述

連線2(新增事務,被阻塞):
這裡寫圖片描述

這裡寫圖片描述

資料庫主從複製監控

這裡寫圖片描述

資料庫主從複製延遲監控

show slave status(不準確(不能發現這種延遲),網路問題,主上大量的log沒有同步到從上,同時從上的log已經被重用完了)

這裡寫圖片描述

使用多執行緒的程式同時對於主從伺服器的狀態進行檢查

這裡寫圖片描述

當每次修復完主從複製,都要檢查主從複製資料的一致性

驗證主從複製的資料是否一致

pt-table-checksum
  • 在主庫下進行
  • databases 指定資料庫的名字
  • 在test庫下建立checksums表,並將監測結果放在其中
    這裡寫圖片描述