应用中,操作数据库的接口突然出现不响应的现象,应用卡死了,如何逐步进行排查

当数据库接口出现不响应导致应用卡死时,可按照三个步骤进行排查:首先观察业务应用日志,查找如"Too many connections"或"Deadlock"等错误信息;其次查看MySQL错误日志,关注死锁和慢查询日志;最后,如果是Java应用,使用jstack分析线程栈。通过调整MySQL设置,检查死锁和慢查询日志,结合应用日志和线程状态,能有效定位问题所在。
摘要由CSDN通过智能技术生成

步骤1:观察业务应用日志

查阅应用的日志,观察日志的输出,从错误关键字中,捕捉细节。

如果出现文案:

ERROR 1040: Too many connections

则预示着数据库连接可能耗尽,导致无法进行业务。

如何排查mysql的链接是否被耗尽,参考此命令

如果出现文案:

Deadlock found when trying to get lock; try restarting transaction

则预示着数据库可能发生死锁,从而导致执行SQL的程序陷入卡顿。

如何排查mysql中是否存在死锁,可以简单的查看Innodb的状态,LATEST DETECTED DEADLOCK ,具体命令和说明,查看此命令

上述命令展示的是最近的死锁信息。想要查看当前所有的死锁信息,可以通过,performance_schema 库 和 INFORMATION_SCHEMA 库的进行查询,例如:

select * from performance_schema.data_locks; 
select * from performance_schema.data_lock_waits;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值