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