规则引擎在触发规则时速度变慢或需要更长的时间来编译[Drools]

问题描述 投票:0回答:1

我有一个单独的 Java spring boot 服务作为规则引擎。它具有控制器和服务,可将焦点设置为用户或其他服务首选的议程组。就我而言,我有 500 多个规则和 30 多个议程组。当我触发特定议程组时,它会在第一次触发时开始编译,之后不需要时间。当我继续添加时,第一次编译需要时间。以下是我怀疑的事情:请添加您的想法。

  1. 当我需要迭代对象列表时,我正在使用 for 循环。
  2. 更多规则。
  3. 一定是配置有问题。

请分享您的想法。如果您需要更多意见,我可以提供。

我还没有改变任何东西。我只是想对另一个流口水的服务采取一些规则。我想让它更快,或者它应该与构建一起编译。

spring drools optaplanner rules rule-engine
1个回答
1
投票
  1. when块中的计算越少越好,参见this
  2. 围绕 10K 规则的会话进行一些性能调查这里
  3. 规则编译需要很多时间,但是你可以配置 drools 来预编译它们,参见this
© www.soinside.com 2019 - 2024. All rights reserved.