Tuning microflows

Use this task to improve the performance of microflows.

Why and when to perform this task

Microflows run in memory, without any user-interaction or persistent messaging support. Database access is required only if audit logging or Common Event Infrastructure (CEI) are enabled for the microflow. The processing of a microflow occurs in a single thread, and normally, in a single transaction. The performance of microflows mainly depends on the services called. However, if the memory available for the server is too small, the performance of microflows will be reduced.

Steps for this task

  1. Tune the Java™ Virtual Machine (JVM) heap size.

    By increasing the Java heap size, you can improve the throughput of microflows, because a larger heap size reduces the number of garbage collection cycles that are required. Keep the value low enough to avoid heap swapping to disk. For guidelines on the size of the server heap, see the relevant step in Tuning the application server.

  2. Tune the JVM garbage collection. Using the Throughput Garbage Collector achieves the best throughput, however the garbage collection pauses can be 100-1000 ms, depending on the heap size. If response time is more important than throughput, use the Low Pause Garbage Collector.
  3. Make sure that there are enough database connections. You need at least one JDBC connection to the process database for each concurrently running microflow. It must be enough, not only for the connections to the database itself, but also connections in the connection pool of the data source.
  4. Tune the Object Request Broker (ORB) thread pool size. If remote clients connect to the server-side ORB, make sure that there are enough threads available in the ORB Thread Pool.
  5. Tune the default thread pool size. To increase the number of microflows that can run concurrently, you must increase the default thread pool size. To change the value, using the Administrative Console, click Application Servers > server > Thread pools > Default.

Result

Your microflows are running as fast as possible under the current environment and loading conditions.
Related tasks
Tuning long-running processes

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