What?一个 Dubbo 服务启动要两个小时!
前言前几天在测试环境碰到一个非常奇怪的与 希望对还未碰到或正在碰到的朋友有所帮助。 现象现象是这样的,有一天测试在测试环境重新部署一个 但过几个小时候之后又能自己慢慢恢复,并能够对外提供
而这个速度慢到居然要花费 导致的一个结果是测试完全不敢在测试环境发版验证了,每验证一个功能修复一个
尝试解决最后测试顶不住了,只能让我这个 当我得知这个问题的现象时其实完全没当一回事:
于是我把这事打回给测试让他先找运维排查下,不到万不得已不要影响我 第二天一早看到测试同学的微信头像跳动时我都已经准备接受又一句 好吧,忽悠不过去了。 首先这类问题的排查方向应该不会错,就是主线程阻塞了,至于是啥导致的阻塞就不能像之前那样瞎猜了。 我将应用重启后用 前几次的快照都是很正常: 加载 隔了一段后应用确实还没起来,我再次 翻源码我一直等了十几分钟再多次 如图所示可见主线程是卡在了 dubbo 的某个方法 于是我找到此处的源码: 简单来说这里的逻辑就是要获取本机的 再往下跟就如堆栈中一样是卡在了 但这是一个 于是这问题貌似也阻塞在这儿了,没有太多办法。 最终解决既然这是一个 native 方法,那说明和应用本身没有啥关系(确实也是这样,这个问题是突然间出现的。) 那是否是服务器本身的问题呢,想到在
拿到服务器 命令刚开始会卡住一段时间(大概几十秒),然后才会输出 而当我直接 最后我尝试在 /etc/hosts 配置文件中加入了对应的 host 配置:
再次 于是我再次重启应用,一切都正常了。 总结(编辑:西双版纳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |