Network Deployment (Distributed operating systems), v8.0 > Set up the application serving environment > Administer application servers


Tune application servers


Overview

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

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 the application server performance. We can choose to implement any of these application server settings. These steps can be performed in any order.


Procedure

  1. Run the applyPerfTuningTemplate.py, as the starting point for improving the performance of an application server.

    We can use the python-based tuning script, applyPerfTuningTemplate.py, along with one of its template files, to apply recommended performance tuning settings. The script, and these template files are located in...

      WAS_HOME/scriptLibraries/perfTuning/V70

  2. Tune the object request broker.

    An 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. We can use the following parameters to tune the ORB:

  3. Tune the XML parser definitions.

    • Description:

      Facilitates server startup by adding XML parser definitions to the jaxp.properties and xerces.properties files in...

        ${WAS_HOME}/jre/lib

      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.DocumentBuilderFactoryImplorg.apache.xerces.xni.parser.XMLParserConfiguration=org.apache.xerces.parsers.XIncludeAwareParserConfiguration

      You can also consult with the jre/lib/jaxp.properties and jre/lib/xerces.properties files that come with the JDK installation. These sample files always contain the recommended settings.

    • Default value: None

    • Recommended value: None

  4. Tune the dynamic cache service.

    Use the dynamic cache service can improve performance. See the information on using the dynamic cache server to improve performance for information about using the dynamic cache service and how it can affect the application server performance.

  5. Tune the web container.

    The product web container manages all HTTP requests to servlets, JSP 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 the product 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 provides the best throughput. The number of threads configured does not represent the number of requests that the product can process concurrently. Requests are queued in the transport chain when all threads are busy.

      To specify the thread pool settings go to...

        Servers | Server Types | WebSphere application servers | server_name

        | Web container settings | Web container | Web container transport chains | WCInboundDefault | TCP Inbound Channel (TCP_2) | Thread Pools | WebContainer

      ...and 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 the product closes a given client connection after a number of requests or a timeout period. After a connection is closed, it is 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...

      2. Select the normal inbound chain for serving requests. This chain is typically called WCInboundDefault, and listens on port 9080.

      3. Click HTTP Inbound Channel (HTTP_2).

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

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

    • Set the Cleanup interval and the Cache size. See the topic on EJB cache settings for more information.

    • Break CMP enterprise beans into several enterprise bean modules. See the topic on assembling EJB modules for more information.

    See the topic on EJB method invocation queuing for further information.

  7. Tune the session management.

    The installed default settings for session management are optimal for performance.

  8. 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 the topic on connection pooling to understand how the number of physical connections within a connection pool can change performance.

    • Use the topic on data access tuning parameters as a reference for the data source and connection pool properties that most affect performance.

  9. Tune the URL invocation cache.

    Each JavaServer Page is a unique URL. If we 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.

Tune the application server using pre-defined tuning templates
Tune URL invocation cache
ORB service settings
Thread pool settings
ORB custom properties
ORB tuning guidelines
EJB cache settings
Assembling EJB modules
EJB method Invocation Queuing
Connection pooling
Data access tuning parameters
Session management tuning
Tune parameter settings
Administer application servers

+

Search Tips   |   Advanced Search