Download PDF (1.3 MB) - IBM Redbooks
Download PDF (1.3 MB) - IBM Redbooks
Download PDF (1.3 MB) - IBM Redbooks
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
this setting does not influence transactional scope. Increase this value (for example, to 8) for<br />
activation specs that are associated with SCA modules and long-running business processes<br />
to improve performance and scalability, especially for large multi-core systems.<br />
Configuring thread pool sizes<br />
The sizes of thread pools have a direct impact on the ability of a server to run applications<br />
concurrently. For maximum concurrency, you must set the thread pool sizes to optimal values.<br />
Increasing the maxConcurrency parameter or Maximum sessions parameter only enables the<br />
concurrent delivery of business objects from the JMS or WebSphere MQ queues. For a<br />
Business Process Manager server to process multiple requests concurrently, you must<br />
increase the corresponding thread pool sizes to allow higher concurrent execution of these<br />
MDB threads.<br />
MDB work is dispatched to threads allocated from the default thread pool. All MDBs in the<br />
application server share this thread pool unless a different thread pool is specified. This<br />
condition means that the default thread pool size needs to be larger, probably significantly<br />
larger, than the maxConcurrency parameter of any individual MDB.<br />
Threads in the WebContainer thread pool are used for handling incoming HTTP and web<br />
services requests. This thread pool is shared by all applications deployed on the server, and<br />
you must tune it, likely to a higher value than the default.<br />
Object request broker (ORB) thread pool threads are employed for running ORB requests (for<br />
example, remote EJB calls). The thread pool size needs to be large enough to handle<br />
requests coming through the interface, such as certain human task manager APIs.<br />
Configuring dedicated thread pools for message-driven beans<br />
The default thread pool is shared by many WebSphere Application Server tasks. It is<br />
sometimes preferable to separate the execution of JMS MDBs to a dedicated thread pool.<br />
Complete the following steps to change the thread pool used for JMS MDB threads:<br />
1. Create a thread pool (for example, MDBThreadPool) on the server by clicking Servers <br />
Server Types WebSphere application servers server Thread pools. Then<br />
click New.<br />
2. Open the service integration bus (SIB) JMS Resource Adapter administrative console with<br />
server scope by clicking Resources Resource Adapters Resource adapters. If<br />
the adapter is not visible, go to Preferences, and select the Show built-in resources<br />
check box.<br />
3. Change the thread pool alias from Default to MDBThreadPool.<br />
4. Repeat steps 2 and 3 for SIB JMS resource adapters at the node and cell scope.<br />
5. Restart the server so that the changes become effective.<br />
SCA Module MDBs for asynchronous SCA calls use a separate resource adapter, the<br />
Platform Messaging Component SPI Resource Adapter. Follow the same steps to change the<br />
thread pool to a different one if you want.<br />
Even with a dedicated thread pool, all MDBs that are associated with the resource adapter<br />
still share a thread pool. However, they do not have to compete with other WebSphere<br />
Application Server tasks that also use the default thread pool.<br />
Configuring JMS and JMS service queue connection factories<br />
Multiple concurrently running threads might cause bottlenecks on resources such as JMS<br />
and database connection pools if such resources are not tuned properly. The Maximum<br />
Connections pool size parameter specifies the maximum number of physical connections<br />
that can be created in this pool. These physical connections interface with back-end<br />
Chapter 4. Performance tuning and configuration 65