今天在使用RTM系统debug测试时,发现程序起来以后unacked就会一直持续。通过查阅资料多线程
- 若是队列中
ready
状态的消息数比较多,能够认为是消费者的处理能力不足 - 如若处理过程当中出现异常,而没有回复ack 应答。经过后台就会看到有 unacked 的数据。
- 程序断开于rabbitmq的连接后 unacked的消息状态会从新变为ready 等待消费。
事实上,RTM是一个多线程嵌套多线程的程序,其逻辑大体是测试
这样展开,峰值估计每次都能提交上千个task。线程
经过top -Hp PID查看开了多少taskdebug
正式环境能到达500+code