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
