InetAddress.getLocalHost() 执行非常慢

编程入门 行业动态 更新时间:2024-10-08 22:17:15

<a href=https://www.elefans.com/category/jswz/34/1656581.html style=InetAddress.getLocalHost() 执行非常慢"/>

InetAddress.getLocalHost() 执行非常慢

昨天同事反馈网关的请求非常慢,一个获取的token的接口响应都超过了30s,还好只是测试环境。

经过验证,几乎所有接口响应都很慢,很多都响应超时。

排查步骤:

0. 本地启动项目测试,没有这个问题。而且生产环境也没这个问题,推测是 环境问题,或择资源问题导致。

1. 通过arthas的trace命令来查找方法执行链路上的 哪里比较耗时。

但通过验证,调用方等待请求响应,花了70s,从arthas的日志来看,只花费了0.01ms。

因此推测,耗时是在进入目标方法只之前,都已经卡主了。

2. 由于拦截器比较多,就没有去分析哪个拦截去出了问题。其实也可以通过arthas 进行定位。

3. 通过jprofiler定位到了 阻塞的线程,然后看得了方法的调用堆栈信息。定位到了应该是InetAddress.getLocalHost()阻塞了,然后在通过 arthas的trace命令跟踪这个方法,确认了问题。

jprofiler截图

arthas截图

参考文档:

arthas帮助文档:trace | arthas

知乎网友的同样问题:InetAddress.getLocalHost() 执行很慢? - 知乎

更多推荐

InetAddress.getLocalHost() 执行非常慢

本文发布于:2023-11-17 01:44:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1637598.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:InetAddress   getLocalHost

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!