Reconfiguring an Engine

How to Tune Process Execution

The performance of an engine depends on available system resources, such as memory. For example, if engine memory resources become overtaxed, engine performance can degrade, and an engine can even fail.

It is hard to know in advance the memory resources required under production loads. Memory requirements depend upon the number of sessions being supported and the number and complexity of concurrently executing process instances—the number of activities, timers, process attributes, and so forth. Hence, to prevent failure, it is necessary to monitor the performance of the engine under production loads, and to reconfigure it when performance begins to degrade.

A number of configuration options are available for tuning process execution, as described in Step 13 on page 102:

Maximum Number of Sessions

Maximum Number of Processes

Memory-resident Process Limit

Swap-out Interval

For example, you can use the first two options to limit the number of concurrent sessions or process instances that the engine supports. While this can keep process execution within resource limits, it also limits the load that an engine can support.

A more sophisticated approach is to use the engine’s advanced process management capabilities. These capabilities allow the engine to swap out dormant process instances in order to reuse the memory space they occupy. When these process instances are subsequently needed, they are swapped back into memory, replacing other process instances that are not currently being used.

In other words, only the most recently needed process instances are kept resident in memory. By swapping process instances out of and back into memory, the engine can support process execution loads that would otherwise exceed available memory resources and cause the engine to fail. Of course, there is overhead involved in this kind of process execution management, so in some cases, performance can be impacted.

The engine’s mechanism for managing process execution depends on the values of two engine configuration options: the Memory-resident Process Limit and the Swap-out Interval. As process execution proceeds, the engine checks that the number of process instances resident in memory does not exceed the Memory-resident Process Limit. If it does, the engine swaps out the least recently

116 iPlanet Integration Server • Process System Guide • August 2001

Page 116
Image 116
Sun Microsystems 3 manual How to Tune Process Execution