On Mon, Feb 20, 2012 at 12:45 PM, Hervé BARRAULT <[email protected]>wrote:
> Hi, > i have seen an interesting benchmark of activemq : > http://hiramchirino.com/blog/2012/02/apache-apollo-1-0-released/ > > But there are some measurements that i don't understand : > Queue Load/UnloadPersistentLoad : 20b payload => AMQ 5.5.1 ~ 250 msgs/s > (Apollo not really stable ~500 msgs/s) > Haven't had time to look closely at the cause of Apollo's throughput variance in that case yet. > Fan In/Out Load ScenariosQueue: 1 consumer/1 producer Persistent (20b > payload) => AMQ 5.5.1 ~260 msgs/s (Apollo ~570 msgs/s) > Queue: 10 consumer/5 producers Persistent (20b payload) => AMQ 5.5.1 ~2.7k > msgs/s (Apollo not really stable ~5k msgs/s) <= more than 5 times 1 > producer ??? > > This should be no surprise, but the more consumers you attache to a queue the faster that queue will perform. So to me, this makes sense that the 5P->10C case would be faster than the 1P -> 1C case. > Topic : 1 consumer/1producer Persistent (20b payload) => AMQ 5.5.1 ~4k > msgs/s (Apollo ~5k msgs/s) (16 times queue performance ???) > > Topics have to do less work, no need to do things like picking an owner of the message and such. Also the messages get broadcast to consumers so the consumer rate increases. > Partitioned Load ScenariosQueue: 1 consumer/1producer Persistent 1k msg => > AMQ 5.5.1 ~250 msgs/s ((Apollo not really stable ~400 msgs/s) > Topic: 1 consumer/1producer Persistent 1k msg => AMQ 5.5.1 ~4k msgs/s > ((Apollo ~5k5 msgs/s) > > Request/Reply Scenarios > > Queue: 1 consumer/1producer Persistent (20b payload) => AMQ 5.5.1 ~1150 > msgs/s ((Apollo not really stable ~1400 msgs/s) > > > > Why are topics such more efficient than queues (16 times) ? > Also in the case of topics, you can producers can broadcast messages to consumers without going though an intermediate queue which adds latency and synchronization. > > Why hast request/reply scenario better result than a simple load test ? > > All the sends in the request/reply are sent without requesting a STOMP receipt. (Async send). In the persistent load test, the persistent scenarios are perform with receipt request and the the client waits for the broker's receipt response before sending the next message. > > Thanks in advance for answers. > > Regards > > Hervé > -- ** *Hiram Chirino* *Software Fellow | FuseSource Corp.* *[email protected] | fusesource.com* *skype: hiramchirino | twitter: @hiramchirino<http://twitter.com/hiramchirino> * *blog: Hiram Chirino's Bit Mojo <http://hiramchirino.com/blog/>* * * * *
