activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gmicky <>
Subject Persistent message througput when using sessions/connections
Date Wed, 23 Oct 2013 10:36:36 GMT

we are trying to achieve hight througput using persistent messages together
with sync send and queues. However we realised there are some limitations
that could be maybe resolved or explained but you.

Scenario 1 - Speed ok , unusable with springs integration
Consumers and producers are connected using multiple separate connections
/40 producers , 40  consumers per queue/ . With this scenario we achieve
very high throughput of cca 500 000 messages per minute. However are
framework is springs and it only allows concurent connections on one
connection and several sessions bases.

Scenario 2 - Producing with multiple connections no consumers 
Producers connected multiple separate connections same as in scenario 1 but
no consumers connected. I would expect rate of writing to kahadb to be same
as in scenario 1 but it does not happen. Message production rate is at cca
18 000msg/minute. I do not understand this at all as messages in scenarion 1
also have to pass persistent store but do so at much much higher rates when
they have consumers connected with dedicated connections.

Scenario 3 -
One connection and multiple sessions for consumers and same for producers /1
connection - 40 consumer and 1 connection and 40 producer sessions. This
works fine with springs integration but the performace is again very slow at
cca 18 000msg/minute.

Producer flow contor is switched off and no memory limits on queue are
imposed so throttling is not an option. Leaving springs integration and
using multiple connections for producers and consumers is also not a option.
Having such low througput as in scenario 2) and scenario 3) is also not a

Could you please advice what is the problem with using 1 connection and
multiple session for high throughput is it amq thread model? I can imagine
some limits due to single socket used but I would not think the impact on
throughput would be so huge. Also could you please explain why producing
with no consumers is so slow compared to producing with multiple consumers
connected each by own connection?

Thanks for answers

View this message in context:
Sent from the ActiveMQ - User mailing list archive at

View raw message