java应用无法访问-访问超时-日志打印正常

java应用无法访问-访问超时-日志打印正常

背景

最近一个应用出现了一个奇怪的现象,持续了几个月了。但是一直没排查出来是什么问题。表现如下:程序运行一段时间之后,接口无法访问(访问超时,一直没有到达后台),但是日志没有报错信息。

结果

先说下出现以上问题的原因,我们使用的是undertow容器,而非tomcat,因为有一个请求处理过程需要访问到其他应用的接口,但是该应用接口响应非常非常慢,导致过多的线程卡住了,新的请求没法被处理。最终结果就是调整容器的最大线程数。在应用配置文件添加如下配置:

server:
  undertow:
    io-threads: 8
    worker-threads: 400

排查思路

  1. 检查该问题出现在那一个层级

    该应用是经典的:nginx+docker运行。

    直接通过地址访问(nginx层),结果超时。查看

    层级 结果 处理结果
    直接通过地址访问(nginx层) 超时 查看nginx日志,正常,暂时排除nginx问题。但是应用日志没有打印。
    进入宿主机直接访问应用 超时 查看应用日志,没有相关日志打印。继续排查
    进入docker容器直接用localhost访问应用 查看应用日志,没有相关日志打印。可以确定是应用出了问题
  2. 目前已经定位到了应用或者应用的机器问题,继续排查

    我们可以先检查一下应用服务器的各项指标是否正常

    <
    指标 状态
    CPU 正常
    内存 正常
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值