資料庫異常假死排查需要資料(當時問題的時間,前後時間在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 ...