Performance ActiveMQ使用者在几天后速度减慢
我们是一个具有所有默认设置的Performance ActiveMQ使用者在几天后速度减慢,performance,activemq,kahadb,Performance,Activemq,Kahadb,我们是一个具有所有默认设置的ActiveMQ设置。其代理url类似于故障转移:(tcp://host1,tcp://host2,tcp://host3)?随机化=假 我们有两个消息队列,生产者在其中发布持久消息 消息通常有一个稳定的流动,但当市场开盘时,就会有近2个小时的消息突发。此设置可以正常工作2-3天,然后消费者处理消息的速度会减慢,我们会看到队列增加 消费者执行以下步骤: 转换消息 处理它 添加到缓存和数据库 预取大小为1000 以下是一些观察结果: 消费者处理似乎不是问题所在,否则它会
ActiveMQ
设置。其代理url类似于故障转移:(tcp://host1,tcp://host2,tcp://host3)?随机化=假
我们有两个消息队列,生产者在其中发布持久消息
消息通常有一个稳定的流动,但当市场开盘时,就会有近2个小时的消息突发。此设置可以正常工作2-3天,然后消费者处理消息的速度会减慢,我们会看到队列增加
消费者执行以下步骤:
预取大小为1000
以下是一些观察结果:
消费者处理似乎不是问题所在,否则它会一直减速
看起来ActiveMQ代理的处理速度变慢了,但我没有证据
我们观察到,在3台主机中,只有主机1和主机2处理大多数消息
关于如何解释这种缓慢有什么想法吗
编辑:
进一步分析发现,当消费者减速时,Kahadb
store[Persistent
消息存储在Kahadb
代理中]达到100%的存储。
我可以理解,当存储量达到100%时,生产商会被阻止,但为什么消费者会放慢速度?这是因为Kahadb
在这段时间内可能会变慢,提取与预取大小相等的消息需要更多时间吗?观察到什么东西变慢了?每个主机上的CPU负载是多少?重新启动消费者/经纪人后会发生什么?你有没有可能进行个人简介?您能在其他机器上重现该问题吗?观察到消息消耗缓慢。在缓慢运行期间,CPU负载不会急剧增加。如果我们重新启动消费者,慢度就会消失[我们还没有重新启动代理]。这个问题在QA和生产机器上都可以重现。听起来像是消费者的问题。你为什么怀疑经纪人?消费者不可能随着时间的推移而减速吗?可能是锁定问题?还是记忆错误?任何可能产生影响的非持续状态?例如,缓存是否可能变慢?消费者有一组固定的步骤要做,这些步骤在整个过程中保持不变。看来重新连接到代理解决了这个问题。我们已经检查过,并且有足够的内存可用。观察到什么东西慢?每个主机上的CPU负载是多少?重新启动消费者/经纪人后会发生什么?你有没有可能进行个人简介?您能在其他机器上重现该问题吗?观察到消息消耗缓慢。在缓慢运行期间,CPU负载不会急剧增加。如果我们重新启动消费者,慢度就会消失[我们还没有重新启动代理]。这个问题在QA和生产机器上都可以重现。听起来像是消费者的问题。你为什么怀疑经纪人?消费者不可能随着时间的推移而减速吗?可能是锁定问题?还是记忆错误?任何可能产生影响的非持续状态?例如,缓存是否可能变慢?消费者有一组固定的步骤要做,这些步骤在整个过程中保持不变。看来重新连接到代理解决了这个问题。我们已经检查过了,有足够的内存可用