flowable與camunda性能測試對比分析


前言

目前主流的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在高並發場景下穩定性更好。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM