IBM BPM, V8.0.1, All platforms > Tuning > Advanced tuning > Business Process Choreographer tuning

Tuning BPEL processes

Use this task to improve the performance of Business Process Execution Language (BPEL) processes.

After successfully running BPEL processes, you can perform this task to improve performance.


Procedure

  1. Define how to measure the baseline performance, and which measurements you want to optimize.

    For example, for some business applications, it is preferable to reduce the response time for end-users under peak-load conditions. For other applications, the rate that the system can process transactions might be more important than the actual duration of each transaction.

  2. Make baseline measurements.

    Make the baseline measurements under conditions of load, time-of-day, and day-of-week that are appropriate for tuning your application. Normally, the most important baseline measurements are the throughput and response times. Throughput values are measured after a specific bottleneck capacity is reached, for example 100% processor load, disk I/O at maximum, or network I/O at 100%. Reliable response time values are best measured for a single process instance during low server usage.

  3. Tune the application.

    Applications can contain multiple processes. Because microflows perform better than long-running processes, if persistence is not necessary, and the functionality can be handled single threaded in one transaction, choose to model microflows instead of long-running processes. Also consider separating branches of a long-running process into microflows. Furthermore synchronous service invocations are usually faster than asynchronous service invocations. So for performance reasons, prefer synchronous service invocations although this is not the default behavior in long-running processes.

    In long-running processes you can change transaction boundaries. In most cases, performance can be improved by reducing the number of transaction boundaries. However, the optimal number of transaction boundaries can only be found out by performance testing. Because serializing and deserializing data is also expensive, consider using parallel execution paths in your processes instead of serializing activities, and minimizing the size and complexity of data that is part of your process. Also minimize the number of events that are emitted.

  4. Tune the processes.

    The way in which you tune an individual process depends on whether it is a long-running process or a microflow.

  5. Review the current configuration for performance bottlenecks that can be eliminated.

    Possibilities to consider include:

    • Installing more processors, more memory, and faster disks.
    • Storing the database logs on different physical disks from the data, and distributing the data on several disks.

  6. Repeat the benchmark measurements under similar load conditions to those of the baseline measurements.

    Keep a permanent record of the application performance measurements to objectively measure any future changes in performance.


Results

The BPEL processes are configured to run measurably faster.

Business Process Choreographer tuning