High performance message-driven beans
December 2, 2009 – 1:21 pmmessage-driven beans. In particular, a simple math model was given as follows:
“We can build a simple mathematical model of the behaviour of concurrent MDB usage:
If we expect a transaction under normal circumstances to take t seconds to complete, and we have a target throughput requirement of n transactions per second, then we will need nt
concurrent threads to achieve our target. For example, if the
transaction will take 0.1s, and we need 100 transactions per second,
then we need 0.1 * 100 = 10 concurrent threads. This suggests a value
for the Maximum Sessions setting and, in turn, the size of the session
pool associated with the listener port’s connection.”
Which would suggest to tune the max connection found under “Resources > JMS > Queue connection
factories > queue_connection_factory > [Additional Properties] Connection pool” to be the above calculated value.
Of course, a lot of times, it is hard to tell the response time of your transaction upfront. So you will need to do this iteratively: test, tune, test again, tune again, until you get the best throughput (ideally your application is now CPU-bound).
The full article is here:
http://www.ibm.com/developerworks/websphere/library/techarticles/0508_parkinson/0508_parkinson.html
.pw.
You must be logged in to post a comment.