2011-09-18 49 views
5

我将首次在我的一个项目(持久消息主题)中使用ActiveMQ。我已经读过,持久的消息强制限制每秒消息的数量。我应该注意哪些其他因素(例如,缓慢的消费者),这些因素会限制activemq的规模和性能特征,以及应密切监视哪些指标以及所有地狱破坏的价值。activemq性能问题和注意事项

现在我不希望在ActiveMQ中每秒推送超过1000个事件。

回答

7

这里有一些提示...

  • 增加systemUsage限制从默认
  • 使用KahaDB从默认
  • 如果增加JVM堆大小,考虑设置enableJournalDiskSyncs为假(帮助吞吐量)或最好使用新的LevelDB
  • 了解producer flow control并考虑禁用(经常完成)
  • co nsider使用virtual topics(而不是持久主题消费者)
  • 了解prefetch-limit,并根据需要
调整
2

两个具体问题我碰到了和ActiveMQ:

1)有每个队列执行需要进行调整内存限制。除非您更改配置,否则ActiveMQ不会填满您的堆。所以你需要设置-Xmx并更改配置以使用更多内存。

2)与#1相关,默认情况下,发件人(客户端)在达到限制时阻止。在较新的版本中,有一个设置可以避免这种情况,而是会抛出异常。见http://activemq.apache.org/producer-flow-control.html