IBM Operational Decision Manager
IBM Operational Decision Manager (ODM) uses rules for automated decision making.
Tuning Guide
See the Tuning Guide.
Rule Execution Server
The Rule Execution Server (RES) runs RuleApps. It is also known as Decision Server Rules.
There are two rules engine for executing rules: Classic Rule Engine and Decision Engine. The Classic Rule Engine has known scalability issues and it is deprecated in favor of the Decision Engine.
Performance Tuning
Review the checklist to improve the performance of Rule Execution Server.
Decision Engine
On IBM and Semeru Java, test the relative performance of
-Xjit:exclude={com/ibm/rules/generated/*}
Classic Rule Engine
Older versions of the checklist included the following options:
-Xgcpolicy:gencon
-Xgcthreads6
-Xjit:codeTotal=261072
-Xjit:compilationThreads=1
-Xjit:{ilog/rules/engine/Sequential/generated/*}(disableInlining)
The first gencon
option is the default in recent
versions of Java.
Only the last -Xjit
option was active as that is the way
-Xjit
options are processed; only the most recent option
takes precedence over all previously specified options. In addition, the
disableInlining
was incorrect because it is case-sensitive
and the package is sequential
rather than
Sequential
. A common alternative is:
-Xjit:exclude={ilog/rules/engine/sequential/generated/*}
The codeTotal
option of 256MB is already the default in
recent versions of Java.
A single JIT compilation thread is generally only used when CPU is tight or startup performance is very important, so test removing that option.
Limiting GC threads is generally only used when vertically scaling multiple JVMs on the same node, so test removing that option.