Skip to main content

IBM

ODM Series 1: IBM ODM Best Practices – The Performance

1. The Performance Cost

The performance cost for a Decision Service may look something like:

PerCost

 

 

 

 

 

 

 

 

IBM / Red Hat - Unlock Potential App Modernization
Unlock Your Potential with Application Modernization

Application modernization is a growing area of focus for enterprises. If you’re considering this path to cloud adoption, this guide explores considerations for the best approach – cloud native or legacy migration – and more.

Get the Guide

 

 

2. The eXecutable Object Model and the RuleFlow

XOM type choices:

  • JAVA XOM better performance
  • XML XOM
    • Dynamicity
    • Useful in case of XML model

Ruleflow:

  • Limit the size and the complexity of the ruleflow, it is interpreted.
  • Always use the same engine algorithm to save memory.

3. The Engine Algorithm

Choose the correct engine algorithm depending on your Decision Service.

RetePlus (The default mode)

  • Stateful application
  • Rule chaining application
  • May be useful in the case of many objects

Sequential

  • Application with many rules and few objects
  • Most of the customer cases.
  • Really efficient in multi-thread environment.

Fastpath

  • Application with rules implementing a decision structure and many objects.
  • May have longer compilation but faster at run time.
  • Really efficient in multi-thread environment.

4. Decision Server Rules Tuning

  • The log level in the Rule Execution Server should be set to level Severe or Warning in the production environment to increase performance.
    • This property (TraceLevel) is accessible in the resource adaptor of the Rule Execution Server or in the ra.xml.
  • Tune the GC and memory size.
    • Starting configuration 64bits
    • -Xgcpolicy:gencon –Xmn2048M –Xmx4096M –Xms4096M
  • Tune the RES pool size.
    • A sizing methodology is available at: http://www-01.ibm.com/support/docview.wss?uid=swg21400803

5. Impact of the Execution Trace

Trace

 

6. Impact of the XOM Type

XOMType

 

7. Remote Web Service call vs. Local call

WSvsLocal

8. Fastpath Algorithm vs. Sequential Algorithm

FaspathvsSequential

 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Soufiane Elhorma

More from this Author

Follow Us