只保证功能,忽略性能(分布式执行时数据丢失)
背景:
1,针对佣金方案中日周期的有两种执行方式,一种是定时任务执行,只去计算昨天的佣金方案,另一种是手动执行,去计算规定时间范围内的;
2,执行方式:调度平台定时任务跑或者是手动执行
测试结果:
1,测试过程中,佣金方案数量过少(俩三条),调度任务时间维度小(三四天),不同的计算方式对应的不同计算结果均正确。
2,后续佣金方案数量添加(8条),调度任务时间增加(60天),调度平台中手动执行。
3,测试过程中发现:数据丢失,有些员工未能计算成功。
期望结果:
1,多条佣金方案(10条),调度任务时间维度长(60天),也能手动执行,且手动执行数据正常,数据无丢失
总结:
1,原因:分布式执行,分布式锁失败,导致数据没有完全执行;
2,改版后:不考虑性能,调度平台会返回失败,失败原因为长时间无法返回响应。实际请求已发出,后台在跑任务。监听日志发现,佣金方案8条,调度任务30天,手动执行时,需耗时25分钟左右;
3,思考:针对业务场景考虑不充分,导致功能性能不达标(测试过程中尽可能的模拟生产用户数据体量)。