排查mysql響應慢 MySQL反應慢排查思路

2021-10-17 22:18:39 字數 1370 閱讀 7285

資料庫異常假死排查需要資料(當時問題的時間,前後時間在2個小時的資料就行)

1.mysql相關配置

整體可以借助於pt-mysql-summary生成(percona-tools工具)

2.作業系統方面/var/log/message & 核心日誌

硬體基本資訊,可以借助於pt-summary資訊(percona-tools工具)

系統的cpu資訊

系統當時的磁碟io資訊

3.mysql監控資料

mysql連線資料資訊

mysql的dml(含insert)的每秒qps資料

show engine innodb status\g 輸出

show global variables;show global status;select sleep(5);show global status;輸出

4.mysql的error log

5.對應時間點的慢日誌

當前狀態

當前硬體情況 & 作業系統 & mysql版本

pt-summary

pt-mysql-summary

cpu情況

cpu指標分為:

us -> user : 使用者態程序cpu開銷

sy -> system : 核心的cpu開銷

id -> idle : 空閒的cpu

wa -> io_wait : 用於io等待的cpu開銷

hi/si -> 中斷相關

st -> 用於vm切換類的cpu開銷

io情況

iostat -m -x 1 10

檢視iops,iotop -op,io吞吐量

利用pt-ioprofile檢視熱點

記憶體情況

free -m

vmstat -s m 1 10

mysql狀態分析

mysql關鍵配置

innodb_buffer_pool_size

innodb_thread_concurrency

sync_binlog

innodb_flush_log_at_trx_commit

long_query_time

show processlist;

show global status like "%thread%";

show engine innodb status\g

show processlist

幾個狀態

cleaning up : 程序執行完畢,清理戰場

opening tables : 程序去開啟表

sending data : 讀取資料向客戶端傳送

statistics : 服務端收集統計類資訊

這幾個狀態時有問題的

mysql慢查詢排查

在mysql資料庫例項下執行以下語句可以排查mysql慢查詢語句 查詢慢查詢日誌 select from slow log show variables like slow 慢查詢定義閾值,單位是秒,精度可到毫秒 show variables like long show variables lik...

mysql慢查詢排查方法

昨天有一道筆試題是問mysql慢查詢的,總結一下。show status 查詢mysql資料庫的一些執行狀態 show status like uptime 檢視mysql資料庫啟動多長時間,myisam儲存引擎長時間啟動需要進行碎片整理檢視慢查詢 show status like slow que...

mysql慢查詢排查處理

事務阻塞,慢查詢 sql及索引優化。資料庫表結構,根據資料設計查詢最優的表結構。系統配置優化,對開啟檔案數和安全的限制。硬體,選擇最適合資料庫的cpu,更快的io,更大的記憶體,cpu不是越多越好,io並不能減少鎖的機制,也就是不能減少阻塞,所以說硬體的優化成本越高,效果最差。slow query ...