一次服务拉出的问题排查

  1. 问题描述
  2. 可能原因
  3. 排查思路
    1. 业务监控排查
    2. 性能监控排查

问题描述

服务实例健康检测拉出

可能原因

  • 应用在请求响应变慢、频繁FullGC
  • 机器部署的虚拟机或Docker容器重启
  • 机器上部署应用性能出现问题
  • 网络问题

排查思路

业务监控排查

  1. 业务流量

查看业务ES看板,发现流量在此刻比较稳定,排除流量剧增导致的原因

业务流量

  1. 异常量

查看异常CAT看板,发现此刻并未有大量异常抛出,排除大量异常造成负载剧增导致的原因

异常量

性能监控排查

CPU

  1. 宿主机 CPU

宿主机CPU在拉出时间节点并未有明显波动 : 排除CPU泄露导致的原因

  1. docker CPU

见dockerCPU以及(throttled count/throttled
time)大量升高,怀疑是docker容器重启导致,进一步排查

GC

  1. JAVA GC

youngGC次数 / youngGC耗时 在拉出节点有明显升高,添加为怀疑点

注:youngGC耗时不应超过1s

FullGC次数 / FullGC耗时 未见明显,排除FullGC导致原因

注:FullGC耗时不应超过5s

内存

  1. 宿主机 内存

swap交换空间无变化,没有内存页换入换出,排除程序因为硬盘读取导致的性能下降原因

directMemory直接内存使用上升,怀疑是JVM启动时,大量加载类文件和元数据导致,由此推断可能有重启

  1. docker 内存

docker rss值接近JVM物理内存,说明没有额外的文件缓存,可以直接对照JVM物理内存进行排查

docker容器cached值大幅上升,应该是docker容器重启时docker
build缓存创建镜像导致
。由此推断,可能是docker容器发生了重启

  1. JVM 内存

JVM空闲内存无明显变化

JVM堆上内存无明显变化

JVM EDEN无明显变化

JVM Survivor

JVM老年代

JVM metaspace

CSS

由以上推断并非由JVM主动发起的重启

线程

  1. JVM 线程

磁盘

  1. 磁盘

  2. 文件句柄

TCP

网络

  1. 网络

查看”Failed Connection
Attempts”连接尝试失败数量,见有轻微上升,可能由服务重启导致,怀疑点不大


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 wshten@gmail.com

文章标题:一次服务拉出的问题排查

本文作者:KevinTen

发布时间:2019-12-20, 00:00:00

最后更新:2019-12-20, 20:34:06

原始链接:http://github.com/kevinten10/2019/12/20/问题排查/问题排查-服务拉出/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏

csdn zhihu github