请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于kafka出站速率的问题

测试环境
均阿里云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不应该这么低效的,但个人又不知道问题出在哪里,希望老师解答一下,谢谢老师。

正在回答

2回答

同学你好:

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

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

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

    (3)增大 partition 的个数

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


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

1 回复 有任何疑惑可以回复我~
  • 提问者 LBruce #1
    将partition修改为1000,且开启20个consumer消费一个topic后,出站速率明显上升很多了。谢谢老师
    回复 有任何疑惑可以回复我~ 2020-11-23 10:44:59
张勤一 2020-11-20 18:37:35

1111

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信