ALBPM Standalone allows you to tune Process Execution Engine performance by setting the memory allocation for the engine and JVM.
| Parameter | Description |
|---|---|
| Maximum JVM Heap Size | Specifies the maximum amount of memory, in megabytes, the engine can
use. If the engine's memory usage reaches this limit, the engine stops itself and
restarts.
You should always try to set the minimum value for the JVM heap size. The default is 256 megabytes |
| Maximum Instance Size | Specifies the maximum amount of memory a process instance can use.
This property limits the size of all process instance variables used by a process
instance. When any instance exceeds this limit, the engine is not able to persist
instance data and the task fails and must be re-executed after increasing the size of
this property.
The default is 16 kilobytes |
| Instance Cache Size | Defines the cache size used to store recently accessed process
instances. This cache is shared by all processes deployed on the engine.
The default is 5000 instances The default value of 5000 instances in the cache is usually considered above average for medium size installations. If the engine has processes with thousands of instances running and these processes have a high concurrency, it is advisable to increase the size of the cache so that the engine does not need to reload instance information when new instances are accessed. |
These three parameters work together to determine engine performance. Before increasing the value of these parameters, you should check the process instance variables of your deployed processes. Larger instances variables take longer to persist and require increased engine cache sizes.
Following this rule ensures that the instance cache will not consume more than half of the engine's allocated memory. If you need to increase the Maximum Instance Size, you should also increase the Maximum JVM Heap Size.
You should always try to set the minimum value for the JVM heap size. You should only increase the JVM heap size when you are required to increase the Maximum Instance Size or Instance Cache Size. However, before increasing the size of these parameters, you should check the instance variables of you processes. Large instance variables take longer to persist and may require more cache memory. If the size of your instance variables is too large, you may need to redesign the process. For example, using arrays in an instance variable can often cause instance variable to be too large.
If you have processes that are using instances concurrently and accessed frequently, you may want to analyze if the instances really need to be loaded back into the cache. Fetching instances from the database very often may incur in performance degradation problems. Again a redesign of your processes may be in order.