-
1. Re: MDB Alternative + Performance
ohughes Jul 15, 2010 10:10 AM (in response to ohughes)I have done some research, and thought about deploying the consumer as a service within JBoss. Then it is possible to manage the number of threads that are deployed, etc.
Anyone any thoughts around this approach?
-
2. Re: MDB Alternative + Performance
timfox Jul 15, 2010 11:52 AM (in response to ohughes)Before jumping to any conclusions I would recommend measuring the performance and see if it is acceptable to you.
30K messages per sec is a high target.
If you are talking about just consuming the messages (the messages are already in the queue), then this will be impossible with a single consumer.
Most disks can do maybe 250 syncs / sec. That means max 250 messages per sec, if you're properly syncing to disk. With an expensive RAID / SAN you can go to a few thousand maybe.
Non volatile write cache on the disk can also probably get you to around a few thousand.
Some very expensive solid state storage also has much lower write latencies.
By parallellising syncs with multiple consumers you can increase the rate. We've done around 9K with hornetq with 40 concurrent consumers on a disk that can do 250K syncs / sec. This is well in excess of what any of our competition can do.
I think you need to be a bit more realistic.
Of course if you batch messages into txs you can also improve perf.
-
3. Re: MDB Alternative + Performance
clebert.suconic Jul 15, 2010 12:13 PM (in response to timfox)By parallellising syncs with multiple consumers you can increase the rate. We've done around 9K with hornetq with 40 concurrent consumers on a disk that can do 250K syncs / sec. This is well in excess of what any of our competition can do.
Just correcting a typo to avoid any possible confusion. I think you got the typo but just to be safe:
" with 40 concurrent consumers on a disk that can do 250 syncs / sec"
^^^ replace 250K per 250.