关于kafka出站速率的问题

来源:20-11 使用 Sort 和 Pageable 完成排序和分页

LBruce

2020-11-20

测试环境
均阿里云Centos7服务器,8核16G,走内网通信。
1台Producer,开启200个条线程,持续3分钟投递消息。总消息数量在百万级。
1台Kafka,接收消息用了1个Topic(包含10个partition),消费消息用了1个ConsumerGoup(包含10个Consumer)
1台Consumer,用线程池开启了20个不同的Consumer线程,每个consumer分别处理对应的partition消息。

问题
consumer消费极其缓慢,最终排查发现,kafka服务器的出站速率非常低。在1Mbps左右(个人猜想大概是这个原因导致消费缓慢),但不知道要怎么进行调优。还请老师解答一下,谢谢老师。

kafka出站速率
图片描述

kafka写盘速率
图片描述

和RabbitMQ做了对比,以下是RabbitMQ的出站速率
图片描述

Rabbit的写盘速率
图片描述

感觉kafka不应该这么低效的,但个人又不知道问题出在哪里,希望老师解答一下,谢谢老师。

写回答

1回答

张勤一

2020-11-20

同学你好:

    消息出站这种问题,大概从以下几个点去排查:

    (1)producer 和 broker 的确认设置,即 ACK 是怎么配置的,看看是否可以降级

    (2)partition 与副本的同步机制配置,是全部同步才算 commited,还是一个副本就可以,看看是否可以减少副本同步的个数

    (3)增大 partition 的个数

    先调整下以上三点的配置,大概率能提高 message 的出站速率。


    欢迎来 QQ 群随时交流、讨论,也非常感谢同学的支持!

1
1
LBruce
将partition修改为1000,且开启20个consumer消费一个topic后,出站速率明显上升很多了。谢谢老师
2020-11-23
共1条回复

张勤一

2020-11-20

1111

0
0

Spring Cloud微服务架构 设计实现广告系统

广告营销系统,未来大中型企业的标配

2136 学习 · 927 问题

查看课程