程序故障排查

系统异常出现缓慢

1.第一时间去监控数据库阻塞的链接 是不是慢sql导致长时间占用链接

https://www.cnblogs.com/LQBlog/p/12208891.html

2.如果是update相关,排查是否有异常的所长时间占用

https://www.cnblogs.com/LQBlog/p/10133758.html#autoid-6-0-0

4.查看链路追踪中的超时链接

5.查看jvm内存和线程信息,是否有大量run中的线程

6.如果数据库没有问题,可以dump线程堆栈信息查看正在执行的线程

https://www.cnblogs.com/LQBlog/p/15267950.html

建议:

      建议使用中间件之类的都增加连接池活跃链接的监控,比如 redis  es  mq  http连接池等,最好是再加上监控报警,比如活跃链接长时间在80%或者90% 则触发告警

案例1

用户反馈程序大规模出错,根据日志排查发现错误,发现是dubbo线程池满了

 

结合当时error日志发现此异常

 

 

 1.数据库运维反馈是因为从库没续费导致 

总结

1.出现异常先排查数据库是否正常 可以一下sql或者锁相关排查

https://www.cnblogs.com/LQBlog/p/12208891.html#autoid-1-0-0

2.数据库正常的情况下再通过dump整个线程 看running的是哪些线程大量阻塞了 根据堆栈分析原因

posted @ 2022-11-24 09:57  意犹未尽  阅读(42)  评论(0编辑  收藏  举报