我们在单个规则流组下有 1000 条规则 我们在执行时遇到严重的性能问题(大约 10-20 秒)
我们认为,拆分为多个议程组将提高性能,而不是在单个规则流组下。
或者创建多个入口点可以提高性能?
有人遇到过这个问题吗?
也欢迎任何链接/文档。
最佳答案
几个月前,Drools 用户列表上也出现了类似的问题,根据可能的建议,通过不同的方法成功解决了该问题。它也可能适用于此。
假设有一些风险因素会影响汽车保险的保费。属性包括:年龄、先前发生的事件、先前事件中的损坏程度、性别、医疗分类。
每个值都会对保费产生一些积分的影响。
您可以编写大量规则,例如
Application( age <= 32 && <=35, previous == 1, damage <= 1000,
gender == 'F', medical == 0.25 )
then
setPremium( 421 );
建议的解决方案是为每个此类参数集插入(常量)事实,并使用单个规则来确定匹配的参数集并根据参数集中的字段设置溢价。
关于drools - 如何优化Drools执行性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23107052/