如何垂直扩展 ActiveMQ?
有人可以分享一下垂直扩展 ActiveMQ 的经验吗?我特别感兴趣的是性能如何受到以下因素的影响:
- NIO 传输
- 选项 org.apache.activemq.UseDedicatedTaskRunner
- 在 OpenWire 中禁用ightEncoding
- 使用各种类型的消息存储(包括 KahaDB)
Can somebody share an experience concerning scaling vertically the ActiveMQ? I'm particularly interested how performance is affected by:
- NIO transport
- option org.apache.activemq.UseDedicatedTaskRunner
- disabling tightEncoding in OpenWire
- using various type of Message Stores (including KahaDB)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您上面提到的项目都是扩展 ActiveMQ 的建议,如 如何在单个代理中配置 10 个或 1000 个队列? 页面。我在客户现场的各种情况下使用了这些策略,发现它们有很大帮助。
与 TCP 传输相比,当代理有大量连接时,NIO 传输有利于使用较少的套接字。这种效率可以提高经纪商的整体绩效。
我几乎总是建议设置
org.apache.activemq.UseDedicatedTaskRunner=false
,因为它对性能有很大帮助。禁用严格编码是一个微妙的变化,很难看到好处。这取决于您发送的消息的类型。
KahaDB 在使用 ActiveMQ 进行持久消息传递方面优于任何其他存储,尤其是在主干上。目前仅在主干上修复了一个错误,该错误会导致持久消息传递性能显着提高,该错误将成为 5.3.1 和 5.4 的一部分。
我知道这些信息并不具体,但我希望它仍然有帮助。
布鲁斯
The items you mention above are all recommendations for scaling ActiveMQ as listed in the How do I configure 10s of 1000s of Queues in a single broker? page. I've utilized each of these tactics in various situations at customer sites and found that they help considerably.
The NIO transport is good for using less sockets when there are a high number of connections into a broker vs. the TCP transport. This efficiency can improve the overall performance of the broker.
I almost always recommend setting
org.apache.activemq.UseDedicatedTaskRunner=false
simply because it helps considerably with performance.Disabling tight encoding is a subtle change and difficult to see the benefit. It depends on the types of messages that you're sending.
The KahaDB outperforms any of the other stores for persistent messaging with ActiveMQ, especially on the trunk. There is a bug that is fixed only on the trunk currently that causes a dramatic increase in persistent messaging performance that will be part of 5.3.1 and 5.4.
I know that this info isn't concrete, but I hope it still helps.
Bruce