Chapter 13. Tuning ActiveMQ for performance
This chapter covers
The performance of ActiveMQ is highly dependent on a number of different factors, including the broker network topology, the transport, the quality of service and speed of the underlying network, hardware, operating system, and the Java Virtual Machine.
But you can apply some performance techniques to ActiveMQ to improve performance regardless of its environment. Your application may not need guaranteed delivery, in which case reliable, nonpersistent messaging would yield much better performance. It may make sense to use embedded brokers to reduce the paths of serialization that your messages need to pass through. And, finally, a multitude of tuning parameters can be applied, each of which have benefits and caveats. In this chapter we’ll walk through all the standard architectural tweaks, tuning tricks, and more so that you have the best information to tune your application to meet your goals for performance.
Before we get to the complex tuning tweaks, we’ll walk through some general but simple messaging techniques using nonpersistent message delivery and batching messages together. Either one of these can reap large performance benefits—definitely the first thing to consider if performance is going to be critical.