Process Engine (PVM)

The Process Engine background thread pool contains the main process instance processing threads.

Original value

The Number of Process Engine Threads option specifies how many threads can be started in this pool. It also governs the rate at which new work items are scheduled (though not directly since they are scheduled asynchronously) going through the EMS system.

When you initially configure ActiveMatrix BPM you can select one of the following default values for the Number of Process Engine Threads field in TIBCO Configuration Tool - see TIBCO Configuration Tool (TCT).

For development systems: 5 threads

For production systems: 18 threads

Monitoring

Monitor your system’s performance, and if you find any of the message queues getting too large you may wish to consider increasing this value.

Changing the value

You can set this value by using the Number of Process Engine Threads option in the TCT, or directly by setting the pe.engineThreadCount substitution variable on the BPM application (by default, amx.bpm.app).

The more threads configured for the Process Engine background thread pool, the more process instances that can be started, processed, and completed in parallel. However more threads put strain on other resources. Too many engine threads can, under heavy load, swamp the CPU, reducing performance of areas such as processing of user tasks, client processing of work items or pageflows. If this is the case, consider reducing the number of engine threads or, if possible, moving PE to a different BPM node on a different physical machine.

Too many engine threads within the same BPM node may not increase throughput when there is no restriction on the CPU. Testing of a straight through processing (STP) process has shown that more than 27 engine threads do not improve performance. A better approach is to add a new BPM node on the same machine, system resources permitting. The main reason for this is contention within platform, which is why we recommend using a number of small BPM nodes on the same machine, rather than one large BPM node.

As a general guide, most systems are likely to see the best performance with a value greater than 5.