I got those results for NON-persistent messages. Does that mean HornetQ syncs to disc for every single message (even non-persistent ones) once it starts paging?
I also ran ActiveMQ on the same hardware and I don't get the same behavior at all, although the initial publish rate is less than HornetQ, it does stays constant to about 1,200 messages per second, even when I have several gigabytes of messages stored in the queue.
HornetQ starts with a very high throughbut 17,000 msg/s and progressively (over several minutes) goes down to 200msg/s (and even less).
We also tested other Messaging systems (non-Java) and HornetQ is really the only one that had this degrading behavior with deepening queues. I had the impression it had to do with the way HornetQ handles large queues but I might be wrong.