2010-03-02 10 views
5

Czy ktoś może podzielić się doświadczeniem dotyczącym skalowania w pionie ActiveMQ? Jestem szczególnie zainteresowany w jaki sposób wydajność wpływają:W jaki sposób skalujesz swój ActiveMQ pionowo?

  • NIO transportu
  • opcja org.apache.activemq.UseDedicatedTaskRunner
  • wyłączenie tightEncoding w OpenWire
  • z użyciem różnego rodzaju Wiadomość sklepach (w tym KahaDB)

Odpowiedz

7

Pozycje, o których mowa powyżej, to wszystkie zalecenia dotyczące skalowania ActiveMQ wymienione na stronie How do I configure 10s of 1000s of Queues in a single broker?. Użyłem każdej z tych taktyk w różnych sytuacjach na stronach klientów i okazało się, że pomagają one znacznie.

  • Transport NIO jest dobry do stosowania mniej gniazd gdy istnieje duża liczba połączeń do maklera vs. transportu TCP. Ta wydajność może poprawić ogólną wydajność brokera.

  • Prawie zawsze zalecam ustawienie org.apache.activemq.UseDedicatedTaskRunner=false tylko dlatego, że znacznie pomaga w osiągach.

  • Wyłączenie ciasnego kodowania jest subtelną zmianą i trudno jest zauważyć korzyści. To zależy od rodzaju wysyłanych wiadomości.

  • KahaDB przewyższa inne magazyny pod kątem trwałego przesyłania wiadomości za pomocą ActiveMQ, szczególnie w bagażniku. Istnieje błąd, który jest naprawiany tylko w bagażniku, co powoduje gwałtowny wzrost trwałej wydajności przesyłania wiadomości, który będzie częścią 5.3.1 i 5.4.

Wiem, że ta informacja nie jest konkretna, ale mam nadzieję, że nadal pomaga.

Bruce

+0

Dzięki. Szukałem właśnie tego rodzaju informacji. Pozdrowienia. –