Dubbo 调用超时,应该先排查什么?
查看完整题解
参考回答
直接回答
先从链路和指标找出时间花在哪一段,再决定改业务、资源配置还是超时值。常见的耗时出现在等连接、等服务端线程、执行业务和等下游响应这几个阶段。
讲清原理
把一次调用的异常、两端日志和同一时段的监控指标对上。若线程池队列变长、拒绝增多,先看阻塞点和限流。如果慢查询耗时同步上升,先处理查询。还要分开统计首次尝试和重试,避免多个失败把单个用户请求越拖越久。
例子与易错点
消费者在 500 毫秒报超时,提供者 900 毫秒才记录数据库返回。盲目重试会向已经慢的数据库再加请求,应先确认慢查询和写入是否可能已经提交。
延伸阅读 Dubbo 调用超时怎么配置? · Dubbo 调用链太长,怎么缩短延迟和故障链? · Dubbo 的 I/O 线程和业务线程怎么分工?
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。