Tune application servers

Tune application servers

The WebSphere Application Server contains interrelated components that must be harmoniously tuned to support the custom needs of your end-to-end e-business application.

About this task

This group of interrelated components is known as the queuing network. The queuing network helps the system achieve maximum throughput while maintaining the overall stability of the system.

The following steps describe various tuning tasks that may improve your application server performance. You can choose to implement any of these application server settings. These steps can be performed in any order.

Procedure

  1. Tune the object request broker. An
    Object Request Broker (ORB) manages the interaction between clients and servers, using the Internet InterORB Protocol (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:

    The Object Request Broker tuning guidelines offer tips on using these parameters to tune the ORB.

  2. Tune the XML parser definitions.

    • Description: Facilitates server startup by adding XML parser definitions to the jaxp.properties and xerxes.properties files in the install_root/jre/lib directory. The XMLParserConfiguration value might change as new versions of Xerces are provided.

    • How to view or 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

  3. Tune the dynamic cache service. Using the dynamic cache service can improve performance. See Task overview: Using the dynamic cache service to improve performance for information about using the dynamic cache service and how it can affect your application server performance.

  4. Tune the Web container. The WebSphere Application Server 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 WebSphere Application Server 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:

      1. Click Servers > Application Servers > server_name Web Container Settings> Web Container > Web container transport chains.

      2. Select the normal inbound chain for serving requests. This will usually be named WCInboundDefault, on port 9080.

      3. Click TCP Inbound Channel (TCP_2).

      4. Set Thread Pools under Related Items.

      5. Select WebContainer.

      6. 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 WebSphere Application Server 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:

      1. Click Servers > Application Servers > server_name Web Container Settings> Web Container > Web container transport chains.

      2. Select the normal inbound chain for serving requests. This will usually be named WCInboundDefault, on port 9080.

      3. Click HTTP Inbound Channel (HTTP_2).

      4. Enter values for Maximum persistent requests and Persistent timeout.

  5. Tune the EJB container. An EJB container is automatically created when you create an application server. After the EJB container is deployed, you can use the following parameters to make adjustments that improve performance.

    See also EJB method Invocation Queuing .

  6. Tune the session management.

    The installed default settings for session management are optimal for performance. See Session management tuning and Tuning parameter settings for more information about tuning session management.

  7. 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.

  8. 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. See Tuning URL invocation cache for more information on how to change this property.




 

Related tasks


Administering application servers

Searchable topic ID: tprf_tuneappserv