记一次定位服务超时分析过程 -------- jstack --------logback 的 坑

线上服务零点会有超时的情况,持续时间为半分钟左右

通过系统性能工具 sar,vmstat,top,dstat以及现有的运维监控平台未发现明显的性能瓶颈
cpu,io,tcp都没有异常,过程日志异常,系统message日志也正常,也不是swap问题
因为有30台机器,其中有10台会有超时情况,硬件配置运维人员统一配置,理论上不会有差异。
打开文件句柄数等等都一样。

前提 :

同样的工程,相差不大访问量

开始怀疑是机器的问题,但10台机器都有问题有点不太可能
查看耗时日志及代码,发现都有熔断处理,不是耗时的代码块,而是常用的代码
怀疑是不是有 “锁竞争!”
零点前后定时dump线程

jstack -l <pid>   注意:jstack 会使jvm进入safepoint,会导致STW,所以正常情况下不要dump线程

线程dump发现锁
查看logback源码发现
logback源码切分文件时,rollover()时也是有锁

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值