新增Kafka Broker后写入变慢的原因排查
Kafka写入延迟升高的原因分析
写入速度从200ms飙升至800ms,核心原因是新增Broker7的副本同步过程占用了Partition1 leader节点的关键资源,具体细节如下:
当Broker7被加入Partition1的副本列表后,该分区的leader(Broker2)需要承担两项额外负载:
- 全量历史数据同步:leader要把Partition1已存的所有数据复制给Broker7,这个过程会持续占用leader的磁盘IO和网络带宽;
- 实时新消息同步:生产者发送的每一条新消息,leader除了要同步给ISR中的1、2、6三个副本,还要同时转发给Broker7,进一步分流了leader的处理资源。
虽然你的配置是
min.insync.replicas=2且acks=all,但acks=all要求leader等待所有ISR内的副本确认消息(当前Partition1的ISR是1、2、6,共3个),原本这个确认过程的开销稳定,但leader因同步Broker7被挤占了资源,导致处理生产者请求的响应速度大幅下降。此外,Broker7在追赶同步期间,leader需要持续维护与它的复制连接,频繁的心跳和数据传输也会额外增加leader的负载,进一步拉高写入延迟。
等Broker7完成数据同步进入ISR后,这个额外的同步负载会消失,写入延迟应该会恢复到之前的水平。
内容的提问来源于stack exchange,提问作者Thomas
相关产品推荐
相关产品推荐

