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
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
•
•
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