MYSQL效能優化之Mysql資料庫監控
阿新 • • 發佈:2019-01-29
監控物件
資料庫可用性監控
資料庫程序或是埠存在並不意味著資料庫就是可用的
也就是說登陸伺服器,並且能正確執行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表,並將監測結果放在其中