Tasks

Thread pools


 

+

Search Tips   |   Advanced Search

 

Separate JVM thread pools manage different types of workload. Appropriate thread pools require careful planning.

Include selected values in our spreadsheet of key metrics.

 

Web container thread pool

The thread pool for the Web container should be closely monitored during initial load testing and production. This is the most common bottleneck in an app environment. Adjust the number of threads in the pool too high, and the system will spend too much time swapping between threads and requests will not complete in a timely manner. Adjust the number of threads too low, and the Web server threads can back up and cause a spike in response at the Web server tier.

There are no hard rules in this space, because things such as the type and version of Web server and the percentage of requests that require the appserver can impact the overall optimum tuning level. The best guideline is to tune this setting in repetitive tests and adjust the numbers.

 

Enterprise Java Beans container thread pool

The EJB container's inactive pool cleanup interval determines how often unused EJBs are cleaned from memory. Set it too low, and the app will spend more time instantiating new EJBs when an existing instance could have been reused. Set it too high, and the app will have a larger memory heap footprint with unused objects remaining in memory. EJB container cache settings can also create performance issues if not properly tuned for the system.

 

Messaging connection pool

When using the messaging service configure the messaging pool Pools for message processing can, for example, be configured on a per connection factory basis.

The messaging listener service provides a separate pool that can be configured.

Servers | Application Servers | <server_name> | Messaging | Message Listener Service

Further pooling options exist when using activation specifications to invoke MDBs.

 

Mediation thread pool

To run multiple mediations in the service integration bus infrastructure concurrently, we need to configure a mediation thread pool using wsadmin line interface.

 

Database connection pool

The database connection pool is another common location for bottlenecks, especially in data-driven apps. The default pool size is 10, and depending on the nature of the app and the number of requests, the default setting might not be sufficient. During implementation testing, pay special attention to the pool usage and adjust the pool size accordingly. The connections in the pool consume additional Java heap, so we might be required to go back and adjust the heap size after tuning the pool size.

 

Web services connection pool

Use HTTP transport properties for Java API for XML-based Web Services (JAX-WS) and JAX-RPC Web services to manage the connection pool for HTTP outbound connections. Set the content encoding of the HTTP message, enable HTTP persistent connection, and resent the HTTP request when a time-out occurs.

 


+

Search Tips   |   Advanced Search

 
Search the Web | Search skywayradio