mysql 查看锁_MySQL反应慢的排查思路
一、導致MySQL慢可能的因素有
1、計算資源不足
2、系統層面未進行基本的優化,或不同進程間資源搶占
3、MySQL配置不科學(附神器:
http://imysql.com/my-cnf-wizard.html)
4、垃圾SQL滿天飛
二、查看系統層面負載手段
1、top查看整體負載情況,快速確認哪個進程系負載高
2、free查看內存情況,是否有內存泄露和用了swap等風險
3、vmstat/sar查看當前系統瓶頸到底在哪,如CPU、IO、網絡等
4、終極神器perf top查看cpu消耗在哪些系統調用函數
三、查看MySQL的整體情況
1、觀察show processlist輸出中是否有臨時表、排序、大量邏輯讀、鎖等待等狀態
2、觀察show engine innodb status輸出中是否有大事務、長事務、鎖等待等狀態
四、干掉垃圾SQL,常用手段
1、用explain、desc觀察執行計劃
2、用profiling定位sql執行的瓶頸
3、用pt-query-digest分析慢sql
五、幾個竅門
1、mysqld進程消耗CPU長時間超過90%的話,99.9%是因為沒用好索引
2、cpu的%sys高的話,大概率是swap或中斷不均衡導致,也可能是有多個索引且超高并發寫入(更新),或者有很嚴重的鎖等待事件
3、最?的瓶頸通常是在磁盤I/O上,因此盡量用高速磁盤設備
4、如果物理磁盤無法再升級,則通過增加內存提升性能容量
5、遇到無法診斷的問題時,試試?perf top來觀測跟蹤
6、SQL執行慢,有時未必是效率低,也可能是因為鎖等待,甚?是磁盤滿了
總結
以上是生活随笔為你收集整理的mysql 查看锁_MySQL反应慢的排查思路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常用的算法设计策略有哪些
- 下一篇: 请验证实例名称是否正确并且 sql se