已采纳
回答正文
回复
讨论正文
该问题的正文与回答。
【背景】 我负责一批长连接 gRPC 服务的主机侧观测。最近一类抖动很磨人:ping RTT 正常、带宽没跑满、丢包≈0,但业务 P99 偶发从 80ms 抖到 400ms,抓包看 TCP 层窗口、重传都正常。我怀疑延迟要么堆在内核侧(socket recvq 排队、协议栈处理),要么堆在用户态(应用线程没及时 read,数据在 recvq 里躺着)。
【现象】
ss -tm 偶尔能看到 recvq 堆积,但采样窗口抓不准;【已尝试】
perf 看 CPU:无明显热点;【期望的答案形态】 想要一份可复现的 bpftrace / bcc 脚本(贴出源码 + 运行命令 + 内核版本),能分别打点: