Chapter 16 Configuring Persistence Object Management : Engine Property File Settings for Persistence Object Management

Engine Property File Settings for Persistence Object Management
When you define Persistence object management settings for a project, especially one that has multiple rule sessions (inference agents), the following tuning controls are available in the engine property file (be-engine.tra). These settings enable you to control how JVM memory is used for the persistence data cache.
be.engine.om.berkeleydb.internalcachepercent
Percentage of JVM memory to set aside for use by the persistence layer’s internal cache. This memory is set aside when the engine starts up.
For projects with multiple rule sessions, you can also set be.engine.om.berkeleydb.cacheweight.rule_session
be.engine.om.berkeleydb.cacheweight.RuleSession
For projects with multiple rule sessions, you can provide a weight for one or more rule sessions. The weight enables the system to calculate what percentage of the memory set aside using be.engine.om.berkeleydb.internalcachepercent to allocate to each rule session.
Session cache percent = internalcachepercent * (cache.weight.RuleSession / total of all session cacheweight values).
For example, if you want to provide a lot of the allocated memory to a certain rule session, you can add a line in your be-engine.tra file for that rule session providing a higher weight value, and the rest of the rule sessions will be assigned the default weight.
be.engine.om.eventcache.defaultmaxsize
Sets the default maximum event cache size. This default is used if be.engine.om.eventcache.maxsize.rule_session is not specified for a rule session.
If you do not set either of the event cache maximum size properties (be.engine.om.eventcache.defaultmaxsize or be.engine.om.eventcache.maxsize.rule_session) then the value of the Object Management tab setting Property Cache Size is used.
Note, however, that the Property Cache Size applies to the number of concept properties. Events store their properties inside the event. The event cache maximum size settings refer to the entire event, not its individual properties.
be.engine.om.eventcache.maxsize.RuleSession
Defines the maximum number of events that are kept in JVM memory for the specified rule session.
The default value is provided by the be.engine.om.eventcache.defaultmaxsize property.
When the persistence layer performs cleanup, the least recently used (LRU) events are moved to the persistence store, to reduce the number of events in memory to the specified number.
If your system has sufficient memory, you can improve performance by increasing the number of events kept in memory. When determining how many events to keep in memory, consider the size of the events — some may be quite large. Also consider your other requirements for memory.
At deploy time, directories are created for each rule session (using rule session names) under the directory you specify.
See Default Location of Log Files and Other Files and Directories for more on how working directory (indicated by the dot in the default value) is determined.