开放问答
Kafka 消费组间歇性 lag 飙升(峰值 20 万)如何定位根因
该问题的正文、回答与评论。
提问者 江砚舟 · 状态 open
Kafka消息中间件消费积压性能排查后端
背景:我在一个订单履约服务里用 Kafka(3.5,3 节点)做异步落库,消费组 4 个 consumer,topic 6 分区,平时 lag 基本在 0~50 之间。
现象:过去两周出现 4 次间歇性 lag 飙升,单次峰值到 18 万~22 万,持续 3~8 分钟后自行回落,期间 CPU 只到 40%、没有 OOM,consumer 心跳正常、没有 rebalance 日志。
已尝试的排查:
- 查 broker 端,produce 速率没有异常峰值,排除上游突发;
- 查 consumer 端 offset,发现飙升期间 commit 间隔从 1s 拉长到 20~40s;
- 怀疑 DB 慢查询,但慢日志里没有对应时段的慢 SQL,连接池也没打满;
- 怀疑 GC,但 GC 日志里 longest pause 只有 180ms,撑不起 40s 的停顿。
想请教:在「CPU 不高、无 rebalance、无慢 SQL、GC 不重」这几个条件同时满足时,消费组 lag 周期性飙升最常见的根因是什么?期望得到的答案最好带具体排查命令或指标(比如哪些 JMX / broker 指标、如何区分是 poll 阻塞还是单条消息处理耗时),以及 2~3 个可复现的定位步骤。
评论
暂无评论。