消息队列RocketMQ版Java 进程消息堆积严重是什么原因?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

消息队列RocketMQ版Java 进程消息堆积严重是什么原因?

2021-01-01 16:15:36 675 1

消息队列RocketMQ版Java 进程消息堆积严重是什么原因?

取消 提交回答
全部回答(1)
  • Lee_tianbai
    2021-01-05 14:23:57

    【排查步骤】: 1. 在消息队列 MQ 控制台 , 通过查看消费者状态获取消息堆积的消费者实例所 对应的宿主机 IP,并登录该宿主机或容器。 2. 执行以下任一命令查看进程 pid:

    - ps -ef |grep java
     - jps -lm
    
    1. 执行以下命令查看堆栈信息:
    - jstack -l pid > /tmp/pid.jstack
    
    1. 执行以下命令查看 ConsumeMessageThread 的信息,重点关注线程的状 态及堆栈:
    cat /tmp/pid.jstack|grep ConsumeMessageThread -A 10 –color
    

    只需要注意两种状态就可以。 - BLOCKED 此状态说明消费者线程被阻塞了,导致消息的消费被停滞了,从 而导致消息堆积的产生。这时要通过上面的堆栈信息来查看具体是阻塞在那个 接口。 - WAITING 这个状态要分两种情况来说明 image.png (1)如果是上图所显示的堆栈信息,说明消费者线程在等待消息消费,此为正常 状态。 (2)如果不是上图所显示的堆栈信息,可以重复上面的 3、4 两步,检查这个这 个消费者线程是否一直处于这种状态,而且堆栈信息显示也是一样的。这个 现象说明在消费逻辑的代码中,由于某种资源紧张,导致获取这种资源的时 间较长,从而导致消息消费的耗时增长,TPS 下降,消息消费的速度跟不上 消息生产的速度,从而导致消息堆积。

    0 0
相关问答

1

回答

消息队列RocketMQ版消息轨迹中记录消费的 ip 与实际消费该消息的 ip 不一致是什么原因?

2021-01-01 17:05:27 384浏览量 回答数 1

1

回答

消息队列RocketMQ版为查询出来的消息,显示的消费者超过实际的消费者?

2021-01-01 17:15:18 410浏览量 回答数 1

1

回答

消息队列RocketMQ版消费者状态当中的消息延迟时间是如何计算的?

2021-01-01 17:20:51 843浏览量 回答数 1

1

回答

消息队列RocketMQ版日志问题:发送的消息 body 长度超范围是什么原因?

2021-01-01 22:57:50 374浏览量 回答数 1

1

回答

消息队列RocketMQ版日志问题:消息轨迹初始化失败,不影响消息的正常收发功能是什么原因?

2021-01-01 22:58:47 554浏览量 回答数 1

1

回答

消息队列RocketMQ版如何删除已经发送到 topic,但是尚未消费的消息?

2021-01-01 23:02:48 3543浏览量 回答数 1

1

回答

消息队列RocketMQ版如何将消息的 msgid 输出打印出来?

2021-01-01 23:06:46 726浏览量 回答数 1

1

回答

消息队列RocketMQ版是否支持消息优先级?

2021-01-01 23:07:30 702浏览量 回答数 1

1

回答

消息队列RocketMQ版分区顺序消息的 topic 可以分多少个区?

2021-01-01 23:12:53 1577浏览量 回答数 1

2

回答

消息队列RocketMQ版同一条消息是否可以既是顺序消息,又是定时消息和事务消息?

2021-01-01 23:27:52 686浏览量 回答数 2
+关注
0
文章
1008
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载