You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by kchamber <kc...@cisco.com> on 2007/03/05 23:09:09 UTC
How to maximize MDB throughput with ActiveMQ and JBoss?
I have ActiveMQ integrated in with JBoss according to the instructions listed
on this website, and I am looking at how to maximize the throughput for the
MDBs listening on a single non-persistent queue.
Specifically, I can have several hundred messages on the queue consistently
(looking at the queueSize), but I only ever get about 10 MDBs allocated.
Various gyrations of changing the activation config settings for
maxSessions, maxMessagesPerSession yield very different results, (including
messages never getting processed).
Is there any documentation that points to "how" MDBs get allocated? I have
tried changing "MaximumSize" values within various jboss XML config thread
pools and also setting the max-pool-size on the ActiveMQ QueueConstructor.
Instead of the guess-work, I'd like to know how to configure the number of
MDBs that will get allocated for processing incoming requests on a specific
queue.
Thanks
--
View this message in context: http://www.nabble.com/How-to-maximize-MDB-throughput-with-ActiveMQ-and-JBoss--tf3352104s2354.html#a9321759
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: [Spam: 5.0] How to maximize MDB throughput with ActiveMQ and JBoss?
Posted by James Strachan <ja...@gmail.com>.
On 3/6/07, kchamber <kc...@cisco.com> wrote:
>
> Thanks for suggestion. Although the prefetch did not do anything
> (noticeable) in my case. I did discover that for EJB3.0 -- which is what I
> am doing, that there is a setting in the ejb3-interceptors-aop.xml which in
> combination of some maxSessions, I was able to get some more MDBs being
> allocated to the pool. Search for PoolClass in the aop xml file.
>
> Wish there was some documentation that clearly defined the relationship of
> all of these maxXXXX settings to get maximum throughput.
Here you go...
http://activemq.apache.org/activation-spec-properties.html
So basically set maxSessions high; also the bigger
maxMessagesPerSessions the better, though be aware that a high value
of maxMessagesPerSessions (which acts like prefetch) will mean if you
don't have maxMessagesPerSessions * maxSessions available you might
starve some sessions.
--
James
-------
http://radio.weblogs.com/0112098/
Re: [Spam: 5.0] How to maximize MDB throughput with ActiveMQ and
JBoss?
Posted by kchamber <kc...@cisco.com>.
Thanks for suggestion. Although the prefetch did not do anything
(noticeable) in my case. I did discover that for EJB3.0 -- which is what I
am doing, that there is a setting in the ejb3-interceptors-aop.xml which in
combination of some maxSessions, I was able to get some more MDBs being
allocated to the pool. Search for PoolClass in the aop xml file.
Wish there was some documentation that clearly defined the relationship of
all of these maxXXXX settings to get maximum throughput.
James.Strachan wrote:
>
> On 3/5/07, kchamber <kc...@cisco.com> wrote:
>>
>> I have ActiveMQ integrated in with JBoss according to the instructions
>> listed
>> on this website, and I am looking at how to maximize the throughput for
>> the
>> MDBs listening on a single non-persistent queue.
>>
>> Specifically, I can have several hundred messages on the queue
>> consistently
>> (looking at the queueSize), but I only ever get about 10 MDBs allocated.
>>
>> Various gyrations of changing the activation config settings for
>> maxSessions, maxMessagesPerSession yield very different results,
>> (including
>> messages never getting processed).
>>
>> Is there any documentation that points to "how" MDBs get allocated? I
>> have
>> tried changing "MaximumSize" values within various jboss XML config
>> thread
>> pools and also setting the max-pool-size on the ActiveMQ
>> QueueConstructor.
>>
>> Instead of the guess-work, I'd like to know how to configure the number
>> of
>> MDBs that will get allocated for processing incoming requests on a
>> specific
>> queue.
>
> For MDB configuration, you'd best check JBoss documentation. I'm
> wondering if this is to do with prefetch
>
> http://activemq.apache.org/what-is-the-prefetch-limit-for.html
>
> Could you try putting say 10,000 messages on the queue first and
> seeing how things behave after steady state?
>
> --
>
> James
> -------
> http://radio.weblogs.com/0112098/
>
>
--
View this message in context: http://www.nabble.com/How-to-maximize-MDB-throughput-with-ActiveMQ-and-JBoss--tf3352104s2354.html#a9338841
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: How to maximize MDB throughput with ActiveMQ and JBoss?
Posted by James Strachan <ja...@gmail.com>.
On 3/5/07, kchamber <kc...@cisco.com> wrote:
>
> I have ActiveMQ integrated in with JBoss according to the instructions listed
> on this website, and I am looking at how to maximize the throughput for the
> MDBs listening on a single non-persistent queue.
>
> Specifically, I can have several hundred messages on the queue consistently
> (looking at the queueSize), but I only ever get about 10 MDBs allocated.
>
> Various gyrations of changing the activation config settings for
> maxSessions, maxMessagesPerSession yield very different results, (including
> messages never getting processed).
>
> Is there any documentation that points to "how" MDBs get allocated? I have
> tried changing "MaximumSize" values within various jboss XML config thread
> pools and also setting the max-pool-size on the ActiveMQ QueueConstructor.
>
> Instead of the guess-work, I'd like to know how to configure the number of
> MDBs that will get allocated for processing incoming requests on a specific
> queue.
For MDB configuration, you'd best check JBoss documentation. I'm
wondering if this is to do with prefetch
http://activemq.apache.org/what-is-the-prefetch-limit-for.html
Could you try putting say 10,000 messages on the queue first and
seeing how things behave after steady state?
--
James
-------
http://radio.weblogs.com/0112098/
Re: [Spam: 5.0] How to maximize MDB throughput with ActiveMQ and
JBoss?
Posted by kchamber <kc...@cisco.com>.
My min and max size parms are set to 100 for this. As in:
<invoker-proxy-binding>
<name>message-driven-bean</name>
<invoker-mbean>default</invoker-mbean>
<proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
<proxy-factory-config>
<JMSProviderAdapterJNDI>DefaultJMSProvider</JMSProviderAdapterJNDI>
<ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
<CreateJBossMQDestination>true</CreateJBossMQDestination>
<!-- WARN: Don't set this to zero until a bug in the pooled executor
is fixed -->
<MinimumSize>100</MinimumSize>
<MaximumSize>100</MaximumSize>
But I also wonder if this even applies to MDBs in use with ActiveMQ, because
there is also a line that says: CreateJBOSSMQDestination, when we are
clearly not using JBossMQ.
--
View this message in context: http://www.nabble.com/How-to-maximize-MDB-throughput-with-ActiveMQ-and-JBoss--tf3352104s2354.html#a9332639
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: [Spam: 5.0] How to maximize MDB throughput with ActiveMQ and
JBoss?
Posted by drvillo <f....@gmail.com>.
How is JBoss configured?
did you set the MaximumSize parameters accordingly?
As shown here:
http://wiki.jboss.org/wiki/Wiki.jsp?page=ConfigJBossMDB
Cheers
Francesco
kchamber wrote:
>
> I have ActiveMQ integrated in with JBoss according to the instructions
> listed on this website, and I am looking at how to maximize the throughput
> for the MDBs listening on a single non-persistent queue.
>
> Specifically, I can have several hundred messages on the queue
> consistently (looking at the queueSize), but I only ever get about 10 MDBs
> allocated.
>
> Various gyrations of changing the activation config settings for
> maxSessions, maxMessagesPerSession yield very different results,
> (including messages never getting processed).
>
> Is there any documentation that points to "how" MDBs get allocated? I
> have tried changing "MaximumSize" values within various jboss XML config
> thread pools and also setting the max-pool-size on the ActiveMQ
> QueueConstructor.
>
> Instead of the guess-work, I'd like to know how to configure the number of
> MDBs that will get allocated for processing incoming requests on a
> specific queue.
>
> Thanks
>
--
View this message in context: http://www.nabble.com/How-to-maximize-MDB-throughput-with-ActiveMQ-and-JBoss--tf3352104s2354.html#a9328876
Sent from the ActiveMQ - User mailing list archive at Nabble.com.