首页 新闻 会员 周边 捐助

kafka消费,自动提交效率慢

0
悬赏园豆:80 [待解决问题]

请问下,kafka消费后设置手动提交,效率很慢,有没有好的优化方法

小迷糊001的主页 小迷糊001 | 初学一级 | 园豆:8
提问于:2021-09-18 11:31
< >
分享
所有回答(3)
0

kafka批量消费(我没亲自使用过);
提高分区数量;
试试

当然,你每条消息的处理时间太长的话,是需要优化的

快乐的欧阳天美1114 | 园豆:4004 (老鸟四级) | 2021-09-18 11:37
0

效率很慢? 是指消费慢吗?那首先你要看下消费业务逻辑的处理速度,这个可能是拖慢消费的主要原因。

然后再看看kafka的配置,比如 max.poll.records max.partition.fetch.bytes 等

让我发会呆 | 园豆:2929 (老鸟四级) | 2021-09-18 11:46

只是接收消息,然后ack,没有业务逻辑,手动ack就很慢

支持(0) 反对(0) 小迷糊001 | 园豆:8 (初学一级) | 2021-09-18 11:47

@小迷糊001: 如果消费是瞬时的,那么就要看看你的硬件 IO,kafka的配置等。有没有哪儿拖慢消费速度的地方了,这个排查起来需要耐心,一点点的去找

支持(0) 反对(0) 让我发会呆 | 园豆:2929 (老鸟四级) | 2021-09-18 11:53

@让我发会呆: 你说的对,如果设置成自动消费就很快了

支持(0) 反对(0) 小迷糊001 | 园豆:8 (初学一级) | 2021-09-18 11:55

@小迷糊001:你一直说的-手动提交,其实这个是比较模糊的,kafka的生产者和消费者都有提交的概念, 生产者确认消息写入成功有个ack,消费者有自动提交或者手动提交offset。

你说到设置成自动消费就很快,那么我理解为消费者提交为自动,那么x消费者自动与手动的区别是:
自动是:每个提交间隔(auto.commit.interval.ms)后会主动将接收到的最大偏移量提交上。
手动是:不用基于时间间隔,而是让程序自己决定提交偏移量。

如果提交逻辑没有bug的话,按道理不太会影响消费者的提交速度啊

支持(0) 反对(0) 让我发会呆 | 园豆:2929 (老鸟四级) | 2021-09-18 14:04
0

手动提交: 不要每个消息消费后都提交. commit是很慢的.

czd890 | 园豆:14488 (专家六级) | 2021-09-18 13:58

那设置偏移量?

支持(0) 反对(0) 小迷糊001 | 园豆:8 (初学一级) | 2021-09-18 14:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册