показатели производительности и меры предосторожности - PullRequest
6 голосов
/ 18 сентября 2011

Я собираюсь использовать ActiveMQ впервые в одном из моих проектов (темы для надежных сообщений). Я читал, что длительные сообщения устанавливают ограничение на количество сообщений в секунду. Какие другие факторы, о которых я должен знать (например, медленные потребители), ограничивают масштаб и характеристики производительности activemq, и какие показатели следует тщательно отслеживать и каковы значения, при которых теряются все адские разрывы.

Я не ожидаю, что на данный момент в ActiveMQ будет выдаваться более тысячи событий в секунду.

Ответы [ 2 ]

9 голосов
/ 20 сентября 2011

вот несколько советов ...

  • увеличить ограничения systemUsage по умолчанию
  • увеличить размер кучи JVM по умолчанию
  • если используется KahaDB , рассмотрите возможность установки для параметра enableJournalDiskSyncs значения false (значительно повышает пропускную способность) или предпочтительно используйте новый LevelDB
  • узнать о управлении потоком производителя и рассмотреть возможность отключения (часто делается)
  • рассмотрите возможность использования виртуальных тем (вместо постоянных пользователей тем)
  • узнать о prefetch-limit и настроить при необходимости
2 голосов
/ 18 сентября 2011

Две конкретные проблемы, с которыми я столкнулся при использовании activeMQ:

1) Для каждой очереди применяются ограничения памяти, которые необходимо настроить. ActiveMQ не заполнит вашу кучу, если вы не измените конфигурацию. Поэтому вам нужно установить -Xmx и изменить конфигурацию, чтобы использовать больше памяти.

2) Относительно # 1, по умолчанию блоки sender (клиент) при достижении пределов. В более новых версиях есть настройка, позволяющая избежать этого, и вместо этого создается исключение. Смотри http://activemq.apache.org/producer-flow-control.html.

...