FIL_PROCDEF_CACHE_SIZE
Summary
This attribute defines the maximum number of procedure definitions that can be cached in memory by the BG
and WIS
processes.
Applies To
This attribute can be set for the WIS
, BG
, SPO
or ALL processes.
Permissible Values
The attribute value must be a numeric value greater than or equal to 1.
Default Value
The attribute is assigned the following default value when iProcess Engine is installed.
Machine ID |
Process |
Instance |
Value |
0 |
ALL |
0 |
64 |
Notes
The in-memory procedure definition cache is used by the BG
, WIS
and SPO
processes for rapid access to recently-used procedure definitions. When a BG
, WIS
or SPO
process first accesses a procedure definition, the definition is fetched from the database and written to the cache. Subsequent accesses will use the definition from the cache rather than from the database, and so will be faster.
The BG
process uses the procedure definition cache for all procedures that it processes. The WIS
and SPO
processes use it to filter queues that contain CDQP
definitions.
This attribute defines the maximum number of procedure definitions that can be cached by the specified process. Increasing this value:
• | increases the number of procedure definitions that can be rapidly accessed from the cache, but also increases the memory footprint of the process. |
• | can speed up work item filtering on large queues by the WIS or SPO processes. |
Once the FIL_PROCDEF_CACHE_SIZE
limit is reached for a process, if a new procedure definition needs to be added to the cache, the oldest procedure definition is removed. When this happens, the following message (with ID 1631
) is written to the sw_warn
file:
proc_name
has been bumped from the FIL procedure definition cache
where proc_name
is the name of the procedure definition that has been deleted from the cache. If this occurs you may want to increase the FIL_PROCDEF_CACHE_SIZE
value.
The SPO
process caches every procedure version of every procedure. This means that if your iProcess Engine has many procedures each of which has many procedure versions, the FIL_PROCDEF_CACHE_SIZE
limit may easily be reached, causing a sw_warn file to be generated. To avoid this, you should reset the value of the FIL_PROCDEF_CACHE _SIZE
to be (number of procedures) * (number of procedure versions).
The sw_warn
file that is generated contains messages like the example :
2007/04/05 08:42:39(SPO:1:2180:0:swadmin:\filpdcc.c::1253): 1631-WARNING: <'$EMAIL' has been bumped from the FIL procedure definition cache> <> <> <>
The number and frequency of these messages indicates whether you need to amend the FIL_PROCDEF_CACHE_SIZE
limit. For example, a couple of messages generated over a few minutes means there is no need to alter the FIL_PROCDEF_CACHE_SIZE
value. However, lots of messages generated in a short space of time means the FIL_PROCDEF_CACHE_SIZE
has been greatly exceeded.
You should be aware that if you do increase the FIL_PROCDEF_CACHE_SIZE
value, the process uses more memory so you may reach the Operating System memory limit sooner.