我们是ActiveMQ
设置,包含所有默认设置。它的经纪人网址就像failover:(tcp://host1,tcp://host2,tcp://host3)?randomize=false
我们有2个消息队列,生产者发布持久性消息。
消息通常有稳定的流量,但是当市场开放时,消息将会持续近2个小时。此设置可以正常工作2-3天,然后消费者在处理消息时会变慢,我们会看到队列构建。
消费者执行以下步骤:
Prefetch size
是1000。
以下是一些观察结果:
关于如何解释这种缓慢的任何想法?
编辑:
进一步分析了这一点,发现Kahadb
存储[Persistent
消息存储在代理商的Kahadb
中,当消费者放慢速度时达到100%存储空间。
我可以理解,当存储达到100%时生产者被阻止但为什么消费者会放慢速度?是因为Kahadb
在此期间可能会变慢并且提取相当于预取大小的消息需要更多?