AgileBpm 流程性能测试
某天发现有人居然压测了 test.agilebpm.cn 测试环境,那个服务器为1核的阿里云特惠机,很弱。所以我这里使用笔记本做一个简单的测试,旨在让您对 AgileBPM 系统性能有个基本的了解。
本测试报告为BPM服务性能测试报告。目的在于流程平台上线后,是否能支持公司办公业务流程的性能需求。
机器和环境
window10 I7 8核 16G
性能指标计算
我们以目标 50w 用户,日常活跃 5万 用户的企业为性能目标,每天 10000~20000 单据计算,高峰时段为:9:30~10:30,如果要一个小时内响应全天的所有流程申请,可以得出流程申请TPS为 20,000/(3600s)= 5.55 TPS,即 5tps 即可支撑高峰下业务需求。
压测用例
启动流程接口 在线表单发起流程
使用用户数:100,产生任务数:438304
测试结果:100并发下,TPS为:730.82,平均响应时间为130ms, 数据库与应用cpu利用率在50%以下
URL 表单启动流程接口 使用URL表单,即不含 业务对象持久化
使用用户数:100
测试结果:100并发下,TPS为:746,平均响应时间为228ms, 数据库与应用cpu利用率在50%左右
待办任务提交(在线表单)
并发数 90 样例数:484507
测试结果:TPS为:809.81,平均响应时间为113ms, 数据库与应用cpu利用率在50%左右
在线表单 获取任务数据(/bpm/task/getTaskData)
使用用户数:100,并发数 90
测试结果:90并发下,TPS为:843,平均响应时间为103ms, 数据库与应用cpu利用率在50%左右
性能指标图示

在线表单获取流程数据接口(/bpm/instance/getInstanceData)
使用用户数:100,并发数 90
测试结果:TPS为:904.14,平均响应时间为103ms
性能指标图示

性能说明
流程全场景下(启动、任务处理、任务数据获取、流程数据获取),以100并发,100用户压测,TPS 在 730 以上,CPU利用率在50%以内,平均响应时间 200ms 左右,性能表现优异,足以满足 50万用户的日常需求。
以目前性能来计算,每小时可支撑 3600 * 700 = 252万 单据的申请,每天8小时,可支撑2000万单据申请
风险补充说明
建议您自行压测,我们可以提供测试脚本,这样结果最可信的。
我们这边也有更完整的性能测试报告有需要可以索取。
当前测试仅为测试 AgileBPM 流程的基本性能指标,不同的流程,流插件配置情况不同、与第三方系统交互次数不同 ,性能也会有所衰减少,但是它也基本可以说明AgileBPM常规流程下性能情况。