2011-09-18 72 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