【发布时间】:2010-03-07 20:42:25
【问题描述】:
有人可以分享有关垂直扩展 ActiveMQ 的经验吗?我对性能如何受以下因素影响特别感兴趣:
- NIO 传输
- 选项 org.apache.activemq.UseDedicatedTaskRunner
- 在 OpenWire 中禁用紧密编码
- 使用各种类型的消息存储(包括 KahaDB)
【问题讨论】:
有人可以分享有关垂直扩展 ActiveMQ 的经验吗?我对性能如何受以下因素影响特别感兴趣:
【问题讨论】:
您上面提到的项目都是在How do I configure 10s of 1000s of Queues in a single broker? 页面中列出的扩展 ActiveMQ 的建议。我已经在客户站点的各种情况下使用了这些策略中的每一个,并发现它们有很大帮助。
当有大量连接到代理而不是 TCP 传输时,NIO 传输适用于使用较少的套接字。这种效率可以提高经纪人的整体表现。
我几乎总是建议设置org.apache.activemq.UseDedicatedTaskRunner=false,因为它对性能有很大帮助。
禁用紧密编码是一个微妙的变化,很难看到好处。这取决于您发送的消息类型。
KahaDB 在使用 ActiveMQ 进行持久消息传递方面优于任何其他存储,尤其是在主干上。目前仅在主干上修复了一个错误,该错误导致持久消息传递性能显着提高,这将成为 5.3.1 和 5.4 的一部分。
我知道这些信息并不具体,但我希望它仍然有帮助。
布鲁斯
【讨论】: