由于项目上线后,使用途中会发生卡半天的情况。用户体验感非常不好,所以对该问题进行全面复盘,一系列排查。总结以下几点:
1. 对接口代码进行排查
确认系统日志表中,请求接口花费时间过长的。
检查接口的代码,是否有不必要的循环逻辑,并优化。
2. 对程序底层进行排查
1)通过命令行 jps,jstat -gc pid time 查看程序fgc的次数。
2)使用visualVm图形化界面,查看内存是否有异常,可以导出dump查看异常位置
3)使用visualVm或者jstack命令,查看应用的线程是否有死锁的地方
3. 对数据库层面进行排查
1)使用sql语句,查看有没有导致表锁死的进程,kill pid释放锁
2)通过图形化工具查看数据库慢查询的地方,排序靠前缓慢的,进行sql优化
3)排查网络环境