Java服务5xx/进程假死排查

目录

一、现象

1、伴随表现

1)线程数突涨

2)接口耗时上涨

3)Cpu抑制明显

4)宿主机/data目录使用率 降低 

二、排查方向

1、调整pod配置-无效

1)方案

2)结论

2、去除自研java服务探针-无效

1)方案

2)结论

3、去掉耗时最高的请求接口-无效

1)方案

2)结论

4、排查入口拦截器-无效

1)方案

2)结论

5、优化日志logback-有效

1)方案

1、观察Cat线程Dump

2、分析日志输出xml

3、优化 logback-sping.xml

2)结论

3)参考文档

一、现象

Java Api服务 不定时会有一次短时间的5xx,持续十几秒,随后自愈

1、伴随表现

1)线程数突涨

2)接口耗时上涨

部分接口耗时接口长达十几秒

3)Cpu抑制明显

4)宿主机/data目录使用率 降低 

二、排查方向

业务代码侧没看出问题,因此针对每一个可能的点进行逐一排查和优化

1、调整pod配置-无效

1)方案

每次出现5xx均伴随着CPU抑制,怀疑短时间内请求QPS暴涨,因此调整pod配置,上调CPU和内存配置,并调整启动参数配置

原JVM参数:

-Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF-8 -server -Xms2000m -Xmx2000m -Xmn1024m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -XX:AutoBoxCacheMax=20000 -XX:-UseCounterDecay -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -XX:+PrintPromotionFailure -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC

调整后JVM参数:

-Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF-8 -server -Xms4096m -Xmx4096m -Xmn2048m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -XX:AutoBoxCacheMax=20000 -XX:-UseCounterDecay -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+Print
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值