Optional: Changing memory data storage options
The speed and amount of data in memory plays a critical role in the performance of your system. You can set different values for the event horizon and event caching properties, and change Java™ heap memory to eXtremeMemory. eXtremeMemory is supported on x86 64-bit Linux systems and Power Linux Little Endian (LE) only that are using a 64-bit Java runtime environment. For other environments, you must use Java heap.
About this task
Agents keep references to the events that they need. An agent horizon is how long in the past the agent can use events. When a solution is deployed, Decision Server Insights compares all of the agent horizons in that solution and then keeps the events for the longest horizon period.
The maxHorizon property allows an administrator to place an ultimate limit on event retention; events in memory can have a significant impact on capacity. Changing the maxHorizon changes the scope of events for agents. You can increase the horizon in anticipation of future rules that need a longer scope.
The eventCacheDuration property can be used to reduce the overall memory requirements for a solution. When eventCacheDuration is set, events are removed from memory after that time, and are reloaded from the backing database as required. If eventCacheDuration is set to half the length of the longest horizon, it can reduce the overall memory requirements by more than a third. The more events per entity, the more dramatic the memory reduction. If you have many entities, which are used infrequently, you can reduce eventCacheDuration to a small period, for example 1 minute.
You can configure Decision Server Insights to use system heap memory for data storage instead of Java heap. When you move data out of the Java heap, you avoid garbage collection pauses providing more constant performance and predictable response times. By default, data is stored in Java heap memory. For more information, see IBM® eXtremeMemory.
You must enable eXtremeMemory and configure the system heap memory for each runtime server in your topology.