Как вы масштабируете свой ActiveMQ по вертикали? - PullRequest
5 голосов
/ 02 марта 2010

Может кто-нибудь поделиться опытом вертикального масштабирования ActiveMQ? Мне особенно интересно, как на производительность влияет:

  • NIO транспорт
  • опция org.apache.activemq.UseDedicatedTaskRunner
  • отключение сжатого кодирования в OpenWire
  • с использованием различных типов хранилищ сообщений (включая KahaDB)

1 Ответ

7 голосов
/ 03 марта 2010

Все элементы, о которых вы упомянули, являются рекомендациями по масштабированию ActiveMQ, как указано на . Как настроить 10-е или 1000-е очередей в одном посреднике? Я использовал каждую из этих тактик в различных ситуациях на сайтах клиентов и обнаружил, что они значительно помогают.

  • Транспорт NIO удобен для использования меньшего количества сокетов, когда имеется большое количество подключений к брокеру по сравнению с транспортом TCP. Эта эффективность может улучшить общую производительность брокера.

  • Я почти всегда рекомендую устанавливать org.apache.activemq.UseDedicatedTaskRunner=false просто потому, что это значительно повышает производительность.

  • Отключение строгого кодирования является тонким изменением и трудно увидеть выгоду. Это зависит от типов сообщений, которые вы отправляете.

  • KahaDB превосходит любые другие хранилища для постоянного обмена сообщениями с ActiveMQ, особенно на внешней линии. В настоящее время существует ошибка, исправленная только в соединительной линии, которая приводит к значительному увеличению производительности постоянных сообщений, что будет частью 5.3.1 и 5.4.

Я знаю, что эта информация не конкретна, но я надеюсь, что она все еще помогает.

Брюс

...