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

Reply via email to