Tuning the application server

Use this task to tune the application server.

Before you begin

Before you start this task, you must have specified the initial settings for the database, as described in Specifying initial database settings.

Why and when to perform this task

To ensure that the business process container can preform optimally, you need to adjust the server settings.

Steps for this task

  1. Estimate the application server resources that you need for Business Process Choreographer.

    Each business process container requires the following resources to run properly. The names shown are the default names that are used in a standard installation of Business Process Choreographer.

    The activation specifications for the process server are found in the administrative console under Resources > JMS Providers > Default messaging > JMS activation specification.

    • BPEApiActivationSpec
    • BPEInternalActivationSpec
    • HTMInternalActivationSpec

    The concurrency of the process navigation depends on the number of concurrent endpoints set in BPEInternalActivationSpec and HTMInternalActivationSpec (for processes containing human tasks).

    One data source, to read and write business process state information to a database: jdbc/BPEDB

    For each possible concurrent navigation step in a long-running process instance:
    • One Java™ database connectivity (JDBC) connection to BPEDB
    • One concurrent endpoint session on the BPEInternalActivationSpec
    • Two JDBC connections to the messaging data store (JMS): one each for get and put
    • Additional database connections if you are using the Business Process Choreographer API to start processes or to interact with running processes
    • Additional JMS sessions, to support system overloads situations where additional messages are generated and need to be served
    Restriction: The number of concurrent endpoints sessions (m) must not exceed 90% of the number of JDBC connections to the process server database BPEDB and must not exceed half the number of JDBC connections to the messaging databases.

    For example, to process up to 30 navigational steps concurrently, you need 30 concurrent endpoints on the BPEInternalActivationSpec. This requires 30 * 1..1 JDBC connections to the process server database and at least 60 JDBC connections on the messaging database

    Your estimate for the maximum number of parallel JDBC connections that are required at any time provides the value for p, which is used in the following steps.

  2. Tune the JDBC settings for the process server database.
    Change the JDBC settings, as follows:
    1. For the JDBC provider, set Max Connections to the value p. The value of p must not be greater than the number of connections allowed by the database.
    2. For the Data source, set the SQL Statement cache size to 500.
  3. Tune the JDBC settings for the messaging database.

    To change the settings, use the administrative console. Set to at least twice the number of concurrent endpoints set for the BPEInternalActivationSpec. Allow for at least 10% expansion.

    Here are some guidelines for the size of the server heap:
    • 256 MB is too low, and results in poor performance.
    • 512 MB is adequate as an initial heap size for many systems.
    • 1024 MB is a reasonable upper limit. Make sure that the total amount of memory that is allocated to applications is no larger than the amount of physical memory available. Otherwise, paging significantly reduces your system performance and might affect the stability of your system.
  4. Rebalance the memory allocation.

    If your database is running on the same computer as your application server, you will probably need to subtract any extra memory that is allocated for heap size from the memory that is allocated to the database. Because all remaining physical memory should be allocated to the databases, use the following equation to rebalance the allocation for the database:

    memory for the database = physical memory - memory for operating system - memory for application server

Result

The application server is tuned for improved performance.

Terms of use | | Broken links

Last updated: Tue Dec 06 04:14:41 2005

(c) Copyright IBM Corporation 2005.
This information center is powered by Eclipse technology (http://www.eclipse.org)