mysql慢查詢sql故障排查


最近項目后台管理系統出現問題,頁面刷新沒有數據,記錄一下排查和解決的過程。

一、現象

1、后台頁面沒有數據,刷新也不起作用。

2、查看瀏覽器頁面接口返回消息,后台接口報錯500。初步定為應該后台接口出了問題。

3、檢查后台服務,hystrix報time out,應該相關服務超時。

二、問題分析

1、查看被調用的服務,沒有報錯,但是log沒有繼續打印,最后執行完幾條sql后就卡住了,初步估計是運行太慢導致的問題。

2、服務沒有問題,就得看看數據庫是否出問題了,執行 #show processlist 查看mysql正在運行的sql線程。發現有部分sql語句卡住,狀態一直是Sending data,沒有變過。這是導致mysql運行慢的問題了

3、查看mysql慢查詢日志,發現有部分sql執行效率太低,query time超過了10秒(相當慢的查詢,數據庫工程師背鍋)。和上面卡住的sql語句一比對,發現正是這部分sql,那問題是找到了。

 

 

三、解決

1、explain分析sql,查看是否使用索引;

2、優化sql,查詢時間要小於2s;

3、加大mysql緩存


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM