1

我有这些应用程序服务器运行 Tomcat 将消息排队到本地嵌入式代理。这些消息被转发到一个独立的代理。有另一台机器连接到使用消息的独立代理。嵌入式代理和独立代理是持久的。

我有这个队列在嵌入式代理中增长得比消息转发到独立代理更快。我可以清楚地看到调度计数小于入队计数。我看到嵌入式代理上的这个队列只有一个消费者连接到独立代理,许多消费者连接到独立代理。

独立代理中的队列大小几乎为 0,CPU 大约 95% 处于空闲状态,这意味着独立代理没有达到最大值,消息没有堆积在独立代理上,而是在嵌入式代理中。

是否有配置参数可以使独立代理增加从嵌入式代理读取的线程/消费者数量?或者让嵌入式代理更快或更多地向独立代理发送消息?

我在所有服务器上运行 ActiveMQ 5.6.0。

有任何想法吗?

4

1 回答 1

1

查看了 ActiveMQ 站点中的所有优化教程以及他们的贡献者编写的优化教程并禁用了管道订阅,增加了独立代理中的内存量并增加了 networkConector 条目的数量。

所有这些更改都使事情变得更好,但消息的转发速度仍然比生成的慢。最终解决方法是我的磁盘不是高性能磁盘,通信带宽为 100%

当我等待获得强大的 RAID 时,我让独立代理非持久化,并且我看到我的队列在几分钟内就耗尽了。从那以后,它们几乎保持不变。

于 2012-10-16T22:49:34.773 回答