应用程序卡死如何排查

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了应用程序卡死如何排查相关的知识,希望对你有一定的参考价值。

一.应用程序卡死如何排查
故障:客服报障,平台点击界面菜单无反应
排查步骤:
1.首先先从公司架构入手,2个节点2层代理负载再到后端web,程序再调用中间件,最后才到数据库
2.先把负载卸掉,用单节点单负载进行访问
3.如果不行,再连接数据库服务器,用top跟iostat命令查看系统cpu.内存跟io,看看是不是由于mysql的配置不优化,导致系统资源耗尽,导致应用崩溃
4.如果cpu.内存,磁盘IO正常,查看MySQL的错误日志以及慢查询日志,看看有没有特殊的报错信息跟大量的慢查询sql语句,然后用explain进行分析是不是大量sql没有索引,引起全表扫描
5.进入数据库,用show processlist查看正在执行的语句,看看有没有特殊的信息。比如出现大量的锁表语句,我这边就是查到数据库出现大量的锁表语句出现,说大量的写跟读都是再同一张表上一边没进行完另一边还在请求等待就造成死锁,这是什么导致的呢,再联系中间件跟数据库关系,好像是配置中间件的读写分离规则配的有问题:主写,主从都可以读,后来中间件改成主只能写,从只能读,重启数据库,然后重启中间件,程序恢复正常

以上是个人排查思路,不同意见可以提,请勿喷!

以上是关于应用程序卡死如何排查的主要内容,如果未能解决你的问题,请参考以下文章

记一次因 Redis 使用不当导致应用卡死 bug 的排查及解决!

记一次因 Redis 使用不当导致应用卡死 bug 的排查及解决!

CentOS7中df命令卡死故障排查

死锁破解大招,解决程序卡死的所有烦恼!

JVM:27 实战:线上系统卡死无法访问问题排查

一个C++工程CPU占用100%问题的排查