【发布时间】:2012-07-30 22:54:59
【问题描述】:
目前我们正在使用 KahaDB 存储在 ActiveMQ 中进行消息持久性,到目前为止效果很好。
根据 ActiveMQ5.6 的发行说明,LevelDB 提供了增强的性能。
有没有人尝试过使用 LevelDB,如果可以,您能否提供优缺点?
【问题讨论】:
目前我们正在使用 KahaDB 存储在 ActiveMQ 中进行消息持久性,到目前为止效果很好。
根据 ActiveMQ5.6 的发行说明,LevelDB 提供了增强的性能。
有没有人尝试过使用 LevelDB,如果可以,您能否提供优缺点?
【问题讨论】:
请看这个链接:https://github.com/fusesource/fuse-extra/tree/master/fusemq-leveldb#how-to-use-with-activemq-56 leveldb 与 kahadb 有一个小的比较。
我目前正在一个具有高消息吞吐量的系统上尝试它,并且我已经看到了更好的结果。我还需要看看它是否稳定,但到目前为止还不错。
【讨论】:
仅供参考:这是ActiveMQ LevelDB Store官方文档的链接
缺点:
优点:
【讨论】:
我们已经在 NFS 上使用了一个为期两个月的 levelDB 存储(配置了标准文件锁定故障转移)。在过去的几周里,我们已经多次损坏存储,日志中没有错误......只是队列堆积,吞吐量非常低。要解决这个问题,我们唯一能做的就是扔掉商店,重新开始。
所以我们现在再次切换回旧的可靠的 KahaDB 存储。
【讨论】:
为 LevelDB 做出的大多数性能声明似乎都是空的声明。它应该支持高并发读取,但多线程测试显示没有并发增益。 https://github.com/ayende/raven.voron/pull/9#issuecomment-29764803
(相比之下,LMDB 在跨多个 CPU 的读取方面表现出完美的线性性能提升。https://github.com/ayende/raven.voron/pull/9#issuecomment-29780359)
【讨论】:
我对 AMQ 性能进行了广泛的测试,但在我的测试中无法获得 LevelDB 与 KahaDB 之间的任何统计显着差异:http://whywebsphere.com/2015/03/12/ibm-mq-vs-apache-activemq-performance-comparison-update/
【讨论】: