已采纳
回答正文
回复
讨论正文
该问题的正文与回答。
【背景】 我负责一条跨机房 gRPC 长连接链路:A 机房(10.10.x.0/24,3 台业务机,Linux 5.15)→ 运营商专线(双上联,ToR 是 Cisco N9K,25G 光模块)→ B 机房(10.20.x.0/24)。业务是同步 RPC,P99 目标 < 300ms。最近 3 周偶发约 1% 的调用超时,单次卡顿 0.5~2s,重试一次就好,无持续故障。
【现象】
【已尝试的排查与结果】
【我现在真的卡住的点】 看到 retransmission 之后,我分不清到底是下面哪一类: (a) 真·链路丢包(某段光纤 / 队列溢出); (b) 乱序导致的"假重传"(其实没丢,只是乱序 + 接收端 RACK/SACK 触发重传); (c) 接收端应用没及时 read → 接收队列满 → 窗口压小 → 发送端停发,被误判成"网络卡"; (d) 接收端 zero window 后的 window 探测包。
【期望得到的答案形态】 一个"抓到 retransmission 后 5 分钟归因"的可复现判据清单,最好按判读顺序给出: