Tune appservers
Overview
The queuing network helps the system achieve maximum throughput while maintaining the overall stability of the system.
Procedure
- Tune the object request broker.
An Object Request Broker (ORB) manages the interaction between clients and servers, using the IIOP. It supports client requests and responses received from servers in a network-distributed environment. You can use the following parameters to tune the ORB:
- Set Pass by reference (com.ibm.CORBA.iiop.noLocalCopies)
- Set the Connection cache minimum (com.ibm.CORBA.MaxOpenConnections)
- Set Maximum size
- Set com.ibm.CORBA.ServerSocketQueueDepth
- Set the com.ibm.CORBA.FragmentSize
The Object Request Broker tuning guidelines offer tips on using these parameters to tune the ORB.
- Tune the XML parser definitions.
- Facilitates server startup by adding XML parser definitions to the jaxp.properties and xerxes.properties files in...
${app_server_root}/jre/lib
The XMLParserConfiguration value might change as new versions of Xerces are provided.
- To set: Insert the following lines in both files:
javax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl javax.xml.parsers.DocumentBuildFactory=org.apache.xerces.jaxp. DocumentBuilderFactoryImpl org.apache.xerces.xni.parser.XMLParserConfiguration=org.apache.xerces.parsers. StandardParserConfiguration
- Default value: None
- Recommended value: None
- Tune the dynamic cache service
Using the dynamic cache service can improve performance.
- Tune the Web container.
The Web container manages all HTTP requests to servlets, JavaServer Pages and Web services. Requests flow through a transport chain to the Web container. The transport chain defines the important tuning parameters for performance for the Web container. There is a transport chain for each TCP port that WAS is listening on for HTTP requests.
For example, the default HTTP port 9080 is defined in Web container inbound channel chain. Use the following parameters to tune the Web container:
- HTTP requests are processed by a pool of server threads.
The minimum and maximum thread pool size for the Web container can be configured for optimal performance. Generally, 5 to 10 threads per server CPU will provide the best throughput. The number of threads configured does not represent the number of requests WebSphere can process concurrently. Requests are queued in the transport chain when all threads are busy. To specify the thread pool settings:
- Click...
Servers | Application Servers | server | Web Container Settings | Web Container | Web container transport chains
- Select the normal inbound chain for serving requests. This will usually be named WCInboundDefault, on port 9080.
- Click TCP Inbound Channel (TCP_2).
- Set Thread Pools under Related Items.
- Select WebContainer.
- Enter values for Minimum Size and Maximum Size.
- The HTTP 1.1 protocol provides a keep-alive feature to enable the TCP connection between HTTP clients and the server to remain open between requests.
By default WAS will close a given client connection after a number of requests or a timeout period. After a connection is closed, it will be recreated if the client issues another request. Early closure of connections can reduce performance. Enter a value for the maximum number of persistent requests to (keep-alive) to specify the number of requests that are allowed on a single HTTP connection. Enter a value for persistent timeouts to specify the amount of time, in seconds, that the HTTP transport channel allows a socket to remain idle between requests. To specify values for Maximum persistent requests and Persistent timeout:
- Click...
Servers | Application Servers | server | Web Container Settings | Web Container | Web container transport chains
- Select the normal inbound chain for serving requests. This will usually be named WCInboundDefault, on port 9080.
- Click HTTP Inbound Channel (HTTP_2).
- Enter values for Maximum persistent requests and Persistent timeout.
- Tune the EJB container.
An EJB container is automatically created when you create an appserver. After the EJB container is deployed, you can use the following parameters to make adjustments that improve performance.
- Set Cleanup interval and the Cache size
- Break CMP enterprise beans into several enterprise bean modules while Assembling EJB modules.
See also: EJB method Invocation Queuing.
- Tune the session management.
The installed default settings for session management are optimal for performance.
- Tune the data sources and associated connection pools.
A data source is used to access data from the database; it is associated with a pool of connections to that database.
- Review information on Connection pooling to understand how the number of physical connections within a connection pool can change performance.
- Use Data access tuning parameters as a reference for the data source and connection pool properties that most affect performance.
- Tune the URL invocation cache.
Each JavaServer Page is a unique URL. If you have more than 50 unique URLs that are actively being used, increase the value specified for the invocationCacheSize JVM custom property. This property controls the size of the URL invocation cache.
Related tasks
Tune URL invocation cache
Session management tuning
Tune parameter settings
Administering appservers