记一次线上RocketMq消费堵塞问题

记一次线上RocketMq消费堵塞问题

小伙伴反应业务数据推送状态不更新了,线上查看topic消费组消费状态,发现已经堵了500多万条数据。

线上消费组消费情况

赶紧联系运维小伙伴查看服务器状态,发现机器是正常的,cpu,内存均未发现异常状况,运维反应这两天迁移了服务器,但是服务器配置是一样的。业务代码也没动过,业务量倒是有些许增多,考虑是消费能力不足的问题。

查看RocketMQ的配置文档:

#rocketmq
rocketmq:
  #是否开启自动配置
  isEnable: true
  #mq的nameserver地址
  namesrvAddr: 192.168.10.189:9876;192.168.10.189:9877
  #消息最大长度 默认1024*4(4M)
  producerMaxMessageSize: 40960
  #发送消息超时时间,默认3000
  producerSendMsgTimeout: 3000
  #发送消息失败重试次数,默认2
  producerRetryTimesWhenSendFailed: 2
  #发送消息超过压缩
  producerCompressMsgBodyOverHowmuch: 2048
  #消费者线程数量
  consumerConsumeThreadMin: 5
  #设置一次消费消息的条数,默认为1条
  consumerConsumeThreadMax: 32
  consumerConsumeMessageBatchMaxSize: 1

发现两个参数设置有问题

consumerConsumeThreadMin:5 消费者线程数偏低

consumerConsumeMessageBatchMaxSize: 批处理消息数过低

这两个参数是跟业务量有关系的,当你的处理过程耗时过大时,应设置小一些,但是目前的应用还是扛得住一些业务量的,所以果断的加大消费并发。

设置如下:

consumerConsumeThreadMin: 20

consumerConsumeMessageBatchMaxSize: 100

调整后mq消费情况

后续优化,则从业务处理能力方面考虑,减小业务处理耗时

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值