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