Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you scale your ActiveMQ vertically?

Tags:

java

jms

activemq

Can somebody share an experience concerning scaling vertically the ActiveMQ? I'm particularly interested how performance is affected by:

  • NIO transport
  • option org.apache.activemq.UseDedicatedTaskRunner
  • disabling tightEncoding in OpenWire
  • using various type of Message Stores (including KahaDB)
like image 512
Henryk Konsek Avatar asked Mar 02 '10 07:03

Henryk Konsek


People also ask

Is ActiveMQ scalable?

1. Vertical scaling. Vertical scaling is a technique used to increase the number of connections (and therefore load) that a single ActiveMQ broker can handle. By default, the ActiveMQ broker is designed to move messages as efficiently as possible to ensure low latency and good performance.

What is the difference between Kafka and ActiveMQ?

One key difference is that Kafka allows you to find messages based on their offset (similar to consuming records from a database), whereas ActiveMQ does not. Kafka also supports more advanced features such as access control using ACLs and compression using compression codecs.

Does ActiveMQ support clustering?

By having multiple cluster connections on different addresses a single Apache ActiveMQ Artemis Server can effectively take part in multiple clusters simultaneously.


1 Answers

The items you mention above are all recommendations for scaling ActiveMQ as listed in the How do I configure 10s of 1000s of Queues in a single broker? page. I've utilized each of these tactics in various situations at customer sites and found that they help considerably.

  • The NIO transport is good for using less sockets when there are a high number of connections into a broker vs. the TCP transport. This efficiency can improve the overall performance of the broker.

  • I almost always recommend setting org.apache.activemq.UseDedicatedTaskRunner=false simply because it helps considerably with performance.

  • Disabling tight encoding is a subtle change and difficult to see the benefit. It depends on the types of messages that you're sending.

  • The KahaDB outperforms any of the other stores for persistent messaging with ActiveMQ, especially on the trunk. There is a bug that is fixed only on the trunk currently that causes a dramatic increase in persistent messaging performance that will be part of 5.3.1 and 5.4.

I know that this info isn't concrete, but I hope it still helps.

Bruce

like image 142
bsnyder Avatar answered Sep 27 '22 20:09

bsnyder