Are the performance benchmark numbers available for HornetQ yet?
In the meanwhile, I did some simple tests on our own. I read this post only later: http://community.jboss.org/message/519156#519156
I would like to describe the tests and the numbers I got. Please advice if you see anything amiss.
Box 1: HornetQ Server 1
Box 2: HornetQ Server 2
Box 3: Simple Java Program (Producer)
Box 4: Simple Java Program (Consumer)
We have a cluster of the 2 HornetQ Servers via discovery groups. And the HornetQ servers are set up for ZERO PERSISTENCE.
The Consumer program sets up 6 message listeners that are load balanced across the 2 nodes of the cluster.
The Producer program can spawn multiple threads that can post messages to a queue. (PRE_ACKNOWLEDGE mode is used). Each thread sends 10,000 messages in a loop.
Case 1: In this case, the multiple threads of the Producer share a single MessageProducer instance. (Synchronized access). With this setup, I could get around 5000 messages per second. Increasing the number of threads had no effect. (Probably because of the shared MessageProducer)
Case 2: In the case, each thread had its own instance of MessageProducer. With this set up, I could get around 10,000 messages per second. Increasing the number of threads only had a marginal increase. It was as though, it plateaued at 10,000 messages per second.
Case 3: In this case, I created multiple instances of the Producer program. Each instance of the program could spawn multiple threads and each thread had its own instance of the MessageProducer.
Now, with 2 instance of Producer program each running about 30 threads, I could get about 20000 messages per second.
So, we were kind of confused with the numbers. It would be greatly helpful if HornetQ published its performance numbers so that there is some sort of reference. Also, it would be helpful if there is any explanation for Case 2. With a single instance of the program, the messages per second did not increase with the increase in number of threads.