activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mattcodes <>
Subject Re: Relationship between Producer, Session and Connection.
Date Thu, 08 Apr 2010 04:15:16 GMT

When you say overhead are you talking about ongoing on startup, I was
thinking of initializing the pool on startup, so bring up minsize of pools
say 30 producer(1:1)session(1:1)connection, so when requested its all ready
to go, use it, and release it back to the pool for the next incoming web
request that has to send a message to the backend queue.

If I go the route of having 1 connection, how many session would you have
per connection? I guess start with the connection as singelton, then a pool
of sessions? Eventually scale it to connection per 20 sessions? Or something
like that?

There could be quite a few concurrent users that will push the demand on the
activemq parts up

bsnyder wrote:
> On Wed, Apr 7, 2010 at 5:12 AM, mattcodes <> wrote:
>> In a (ASP.Net/c#) web-app I want to pump messages to an ActiveMQ queue
>> (nothing complicated - no native transactions etc..). Reading various
>> FAQs
>> etc.. I figure I should create a pool of say 50 message producers, each
>> with
>> their own session and own connection for the best performance. i.e. a 1
>> to 1
>> relation between producer --> session and session --> connection. Is this
>> the optimal setup? When would this be problematic?  Obviously Id have to
>> implement the pooling myself since there's no ActiveMQ pool lib for .Net?
>> Alternatively I thought about pooling Session (with 1to1 with connection)
>> and then creating the producer on each request? The overhead of this is
>> about 9ms I tested, which isnt that far off pulling from a pool,
> The problem with what you are proposing is that it won't scale very
> well. Creating connections, sessions and producers in a 1:1 ratio is
> inappropriate because the overhead of both is rather high. It's
> actually better to use one connection to create many sessions and only
> increasing the number of connections if it is deemed necessary. This
> is the model used by most JMS pooling connection factories and most
> messaging middleware works very well with this model.
> Here is an example of what I recommend to folks for sending messages:
> This example uses the Spring Framework to send JMS messages. Let me
> know if you have any questions.
> Bruce
> -- 
> perl -e 'print
> unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
> );'
> ActiveMQ in Action:
> Blog:
> Twitter:

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

View raw message