(ILOG) IBM ODM 8.5 Как повысить производительность сервера выполнения правил?

Я работаю над большим проектом системы правил. После развертывания правил и выполнения правил xom сервер не отвечает или время его отклика увеличивается, а иногда и зависает.

Я установил размеры кучи на сервере WebSphere следующим образом: -XX: MaxPermSize: 1024m -Xms2048m -Xmx2048m

Есть ли другой способ настроить его для лучшей работы? Потому что иногда мне приходится перезагружать соответствующий компьютер, чтобы он работал безопасно.


person Cracker    schedule 12.03.2014    source источник


Ответы (3)


Вы используете режим выполнения Rete? В 99% случаев вы будете использовать Sequential или, возможно, Fastpath, в зависимости от ряда факторов. Очень, очень немногим людям нужен Rete, если, например, вы не используете цепочку правил пересылки.

К сожалению, по умолчанию, когда вы добавляете задачи правил в потоки правил в Rule Designer, он устанавливает режим выполнения на Rete.

Итак, чтобы проверить, какой режим выполнения вам нужно использовать, см. здесь, чтобы просмотреть контрольный список в службе принятия решений.

person Justin Phillips    schedule 20.06.2014

Ознакомьтесь со статьей BPM DeveloperWorks Повышение производительности IBM Operational Decision Manager, часть 1: Уменьшите время выполнения правил, чтобы получить рекомендации по повышению производительности ODM, а также Повышение производительности выполнения правил и сервера выполнения правил (RES) для ODM и JRules

Кроме того, режим выполнения по умолчанию, начиная с ODM 8.7, - FastPath, который должен обеспечивать наилучшую производительность для большинства случаев использования. Вы можете установить режим выполнения по умолчанию в Rule Designer, щелкнув Window> Preferences> Rule Designer> Ruleflow.

person z_blue    schedule 10.04.2015

В моем текущем проекте я использовал алгоритмы RetePlus и Sequential. Вот мои впечатления:

  1. RetePlus = отлично подходит только для таблиц решений, если он оптимизирует критический путь к оценке правил.
  2. Sequential = отлично подходит для простых вычислений и элементарных правил (правил действий).

Вы можете комбинировать оба подхода в одной оркестровке. Я сделал это в нашем проекте с производительностью наносекунды, поверьте мне.

В целом, все зависит от вашего бизнес-модуля и характеристик оркестровки. Возможно, вам следует пересмотреть и улучшить свои правила (если вы обращаетесь к внешним объектам или репозиториям в рамках своих бизнес-правил - это снижает вашу пропускную способность).

Оперативная память тоже важна, но ее недостаточно. Повысьте качество своих бизнес-правил, особенно в словесных выражениях. Возможно, они слишком сложны или выполняют слишком много вычислений несколько раз.

Надеюсь это поможет.

person André Dias    schedule 29.04.2016