GC 问题排查实战案例
这一部分,我们来看一个实际的案例。
假设我们有一个提供高并发请求的服务,系统使用 Spring Boot 框架,指标采集使用 MicroMeter,监控数据上报给 Datadog 服务。
当然,Micrometer支 持将数据上报给各种监控系统,例如:AppOptics、Atlas、Datadog、Dynatrace、Elastic、Ganglia、Graphite、Humio、Influx、Instana、JMX、KairosDB、New Relic、Prometh eus、SignalFx、Stackdriver、StatsD、Wavefront 等等。
有关MicroMeter的信息可参考:
https://micrometer.io/docs
问题现象描述
最近一段时间,通过监控指标发现,有一个服务节点的最大 GC 暂停时间经常会达到 400ms 以上。
如下图所示:
从图中可以看到,GC 暂停时间的峰值达到了 546ms,这里展示的时间点是 年 02 月 04 日 09:20:00 左右。
客户表示这种情况必须解决,因为服务调用的超时时间为 1s,要求最大 GC 暂停时间不超过 200ms,平均暂停时间达到 100ms 以内,对客户的交易策略产生了极大的影响。
CPU 负载
如果觉得《JVM 问题排查分析下篇(案例实战)》对你有帮助,请点赞、收藏,并留下你的观点哦!