先介绍背景:项目使用的一个流程引擎用的是Soap服务,只支持单条走流程,原来量不大的时候很完美,基本没什么问题。有一天用户量大了要一次支持1000条数量。
外加从Excel导入需求。
1、开始修改代码,excel导入200条数据太慢,查找原因是因为excel默认读取了6万多行,实行数据只有200条,修改读取数据行限制为1000,导入速度瞬间提升上来,一次保存100条慢的不行,实在无法接受,首先把开始单条保存方式修改成批量保存。保存问题解决。
2、保存1000条时间在2-3秒,测试走流程500条数据,在设置不超时情况等待5min还没执行完……,优化本地代码,所有单条修改、插入的地方成批量操作,
本地代码修改完,测试运行,1000条数据一次走流程5min,由于还要做新的需求,没管了先用着,而且也很少有用户真正提那么多数据。
3、由于是批量走流程,还是调用远程服务,时不时出现数据数据不一致的情况,出错数据量不大,没太在意,随着使用人数据越来越多,出错数据也增多,终于决定不使用远程服务,直接读取流程引擎表,后面的坑明天继续