消息队列 CKafka 版 消费速度缓慢

如果想确认是否是服务端问题,可以在控制台查看高级监控里面的消费耗时,耗时信息表示服务端处理请求的耗时,如果服务端负载有问题,可以看到统计各阶段耗时较高。

相关产品
消息队列 CKafka 版 产品页,含版本规格、价格与购买入口。

一、问题概述

消费端消费消息速度缓慢。

二、可能原因

·服务端负载较高

·限流问题

·客户端负载

·消费端处理能力问题

·网络问题

三、解决方法

·服务端负载较高

·限流问题
如果想确认是否是限流问题引起的,可以配置带宽超限告警。检查 监控 > 实例 是否已经达到实例的带宽峰值。如果已经达到带宽峰值,你需要升级实例的带宽峰值。关于如何升级实例配置,请参阅 升配实例。

·客户端负载

如果服务端没有性能问题,大概率是客户端消费能力不足。首先看一下分区和消费者的对应关系。如果一个消费者消费了太多分区,建议增加消费者的数量。尽量让一个消费者消费一个分区,如下查看消费者和分区的对应关系:

·消费端处理能力问题
如果消费者和分区的分配关系是正常的,那可以在控制台扩容分区提高数据消费的并行度。控制台扩容分区是即时无损的扩容的,不会影响你的业务。扩容分区如下:

·网络问题

排查一下客户端的负载情况。例如客户端机器的 CPU、内存、网卡等指标。如果是 Java 的进程,则着重关注 GC 和堆内存的使用情况。

·消费链路问题

排查消息消费链路下游方面,是否存在其他原因导致消费速度慢。例如消费消息需要有一些同步操作完成后,才向服务端提交 offset。下游常见的异常操作有:

·频繁打印日志。

·写入数据库较慢。

·业务逻辑较为复杂,导致处理消息较慢。

如果短时间不能快速解决,建议增加 Topic 分区数,并扩容消费者实例数量,以迅速增加消费消息速度。

赞 (0)
上一篇 4天前
下一篇 4天前