发布时间:2023-05-21 19:00
目前主流的Java开源流程引擎有Activiti、Flowable、Camunda,笔者在进行流程引擎技术选型时,除了功能方面,性能和稳定性是尤其关注的指标,是选择Flowable?还是Camunda?我们先进行了二者性能对比测试,先分享给大家。
PC笔记本,8G内存,CPU两核i5-8250
压测工具:JMeter5.1
数据库:mysql5.7
Flowable版本:6.4.1
Camunda版本:7.10
基于springboot编写测试代码,调用流程引擎的API接口,测试流程图如下:
测试过程:流程启动——获取待办——流程审批1——获取待办——流程审批2——流程结束
测试代码逻辑:(camunda代码)其中,流程名称叫flow-test1, 审批人为demo, 增加1个流程变量taskuser
通过压力测试工具JMeter分别对flowable和camunda进行高并发压力测试,并发用户数从100到1000,JMeter设置Ramp-up为1,循环次数为10,测试数据如下:
并发数 | flowable | camunda | 性能对比(Camunda比flowable提升) |
---|---|---|---|
100并发 | 2269 ms | 1631 ms | +39% |
200并发 | 3907 ms | 3489 ms | +12% |
400并发 | 7250 ms | 6452 ms | +12% |
600并发 | 9943 ms | 8700 ms | +14% |
800并发 | 13700 ms | 12400 ms | +10% |
1000并发 | 18800 ms | 15700 ms | +20% |
在1000并发时,flowable6后台报错,但能执行成功.报错信息为:Caused by:com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction;camunda后台无报错,执行全部成功。
通过flowable和camunda多组对比测试,camunda性能比flowablet提升最小10%,最大39%,而且camunda无报错,flowable有报错,camunda在高并发场景下稳定性更好。云程BPM(云程低代码开发平台)基于camunda开发,可以在线体验,并在多个项目进行验证,性能表现良好
webpack服务器性能,高性能流媒体服务器EasyDSS前端重构(三)- webpack + vue + AdminLTE 多页面引入 element-ui...
mysql 分页limit_MySQL中使用LIMIT进行分页的方法
如何基于TensorFlow使用LSTM和CNN实现时序分类任务
hive 插入数据映射到hbase_年薪50万都难招的大数据工程师,凭什么?
(二)Java使用奇技淫巧之枚举+自定义异常+接口优雅实现判断参数为空
【Linux篇】第二十篇——HTTP协议(认识协议+HTTP协议+HTTPS)
Qt读写Excel--QXlsx通过Document对象操作工作表3
2022年PMP考试换大纲了,但是PMBOK还没更新,该如何准备?
FLIP-147:支持包含结束任务的 Checkpoint 操作与作业结束流程修正
C#工控上位机实例_「C#上位机」西门子1200PLC实用定位控制程序案例
Qt、MinGW编译OpenCV 4.5.4(包含opencv_contrib)详细过程