How would you configure NIO for MDB? I do plan on stress testing, but I
want to make sure I understand the configuration. Is there a 1 to 1
relationship with Default\ JMS\ Resource\ Adapter.ThreadPoolSize and
Default\ MDB\ Container.InstanceLimit?

On Mon, Sep 28, 2015 at 10:29 AM, Romain Manni-Bucau <[email protected]>
wrote:

> Le 28 sept. 2015 07:24, "Steve Goldsmith" <[email protected]> a écrit :
> >
> > OK, yea, it's not real clear where configuration preference go (i.e.
> > system.properties or tomee.xml). My goal is to have 100 messages
> processing
> > simultaneously for each MDB. I could have 5 or 10 distinct beans that
> need
> > to handle up to 100 messages each simultaneously. In case of 10 beans
> with
> > 100 simultaneously messages (1000 total) would I have to use:
> >
> > Default\ JMS\ Resource\ Adapter.ThreadPoolSize=1000
> > Default\ MDB\ Container.InstanceLimit=1000
> >
> > Is there any implications to this? I have a scenario where I could have a
> > onMessage last up to 30 seconds and we have tens of thousands of users. I
> > need it to scale to a lot of MDBs. Are there OS tuning considerations
> based
> > on the number of active threads?
> >
>
> Standard OS config are important like ulimit. 1000 threads sounds a lot.
> Also using a delegation pattern nio transport and mdb calling a singleton
> or app scoped cdi bean you should be able to scale more easily.
>
> Only way to ensure it is to bench it on your actual machine - even if
> theory is good better to check it actually works cause  bottleneck can be
> totally different.
>
> > On Sun, Sep 27, 2015 at 9:53 PM, Leonardo K. Shikida <[email protected]>
> > wrote:
> >
> > > sounds correct for me
> > >
> > > if you want to run tests and see things clearer, you probably can try
> this
> > > in your MDB instead
> > >
> > >         @ActivationConfigProperty(propertyName =
> "maxMessagesPerSessions",
> > > propertyValue = "1")
> > >
> > > so each MDB will only fetch 1 message at a time
> > >
> > > I am not sure if this parameter is related, but it's another one you
> can
> > > try, if your configuration is not working as expected.
> > >
> > >     <Resource id="MyJmsConnectionFactory"
> > > type="javax.jms.ConnectionFactory">
> > >     ResourceAdapter = Default\ JMS\ Resource\ Adapter
> > >     PoolMaxSize = 100
> > >     </Resource>
> > >
> > >
> > >
> > >
> > > []
> > >
> > > Leo
> > >
> > > On Tue, Sep 22, 2015 at 5:15 PM, sgjava <[email protected]> wrote:
> > >
> > > > If I have multiple MDBs that I want to scale to 100 beans
> simultaneously,
> > > > how
> > > > would I configure TomEE? Currently I'm using:
> > > >
> > > > system.properties:
> > > >
> > > > Default\ JMS\ Resource\ Adapter.ThreadPoolSize=100
> > > > Default\ MDB\ Container.InstanceLimit=100
> > > >
> > > > bean:
> > > >
> > > > @MessageDriven(activationConfig = {
> > > >     @ActivationConfigProperty(propertyName = "maxSessions",
> propertyValue
> > > >             = "100"),
> > > >     @ActivationConfigProperty(propertyName =
> "maxMessagesPerSessions",
> > > >             propertyValue = "100")})
> > > >
> > > > But this would only cover 100 simultaneous beans? For instance,  say
> I
> > > have
> > > > 10 beans that could have 100 messages active at the same time or 1000
> > > > beans.
> > > > How would the configuration look?
> > > >
> > > >
> > > >
> > > > --
> > > > View this message in context:
> > > >
> > >
>
> http://tomee-openejb.979440.n4.nabble.com/Scaling-MDBs-beyond-default-10-limit-tp4676322.html
> > > > Sent from the TomEE Users mailing list archive at Nabble.com.
> > > >
> > >
> >
> >
> >
> > --
> > Steven P. Goldsmith
>



-- 
Steven P. Goldsmith

Reply via email to