我们一次在JBPM5中批量启动流程(例如100个实例)。并且过程的每个任务都由外部程序异步启动和完成。在这种情况下,JBPM引擎需要花费很多时间来生成下一个任务,因此整体性能会受到影响。 (例如:平均需要45分钟来完成100个流程实例)请建议一种优化jbpm5引擎性能的方法。
答案 0 :(得分:0)
某些东西必须是错误的或配置错误的,因为完成100个流程实例的45分钟似乎太多了,在正常情况下,每个请求通常应该花费不到一秒钟。但很难弄清楚可能出现的问题。您有关于设置的更多信息以及实际占用了大量时间的信息吗?您调用了哪些类型的外部服务?你有一个我们可以看到的原型吗?
克里斯
答案 1 :(得分:0)
是的,这听起来像您的域中的问题,而不是您的引擎中的问题。前段时间我们对内存进程和数据库持久化进程进行了一些性能测试,引擎引入的延迟小于每个活动2ms(在内存中)和每个活动5ms(在数据库中保留)。 你究竟如何调用引擎,你是如何托管它的?你在做什么样的电话?您是否有办法衡量外部服务回答的时间?
干杯
答案 2 :(得分:0)
现在它更快。完成任务后
client.complete()
我正在使用命令
暗示/发信号通知服务器ksession.getWorkItemManager().completeWorkItem(id, data);
通过此引擎可以更快地生成后续任务,并且我可以检索它以进行处理。 但这是完成任何任务的理想方式吗?