大批量修改客户信息,出现错乱现象,求助解决?
J2EE架构,生产上大批量修改客户信息,出现错乱现象,想在测试环境重现此问题,有什么办法?每次大批量调整客户信息(联系电话)就会出现大批错乱,系统约为40-50个人同时操作。
错乱客户信息:
问下开发,不同的人同时队相同记录进行操作,他是如何处理的。
重现问题可以尝试用LR生成负载去压,但是关键要了解出问题的本质。 谢谢楼主回复!
楼主提到的“关键要了解出问题的本质”,可以说的详细一点吗?谢谢!
另外
1、次系统中,不同的用户登录,只能看到自己的客户,因此不存在修改同一条记录的问题;
2、已经通过LR模拟用户的操作进行过压力测试(场景一:单条修改客户信息(电话号码); 场景二:批量修改订货日期(次处没有涉及修改电话))
查看数据,确认没有发现错乱 应该是代码的问题,或者在竞争资源时发生了错乱。请向开发咨询程序逻辑处理的顺序及出现资源竞争时的处理状况。 能举举例子吗?
1、在什么的程序逻辑处理的顺序,会引起错乱?
2、怎么样的“资源竞争的处理情况”,可能引起错乱?
谢谢! 并发压力大是SQL语法的UPDATE 对提交的事务性能有影响产生的吧
谢谢各位的答复,问题已经解决!
测试过程中,是按照以下的方法重现数据错乱的:1、设置压力测试场景,5个用户并发进行客户信息查看并更新;
2、压力测试的过程中,用另外一个用户(客户经理)登录系统,也进行查看客户信息;
上面的第2点操作发现了数据错乱的问题,所查看的客户信息是另一个客户经理所属的客户信息;
开发人员发现问题根源:
1、主要是数据对象的重用造成的,多个用户公用了相同的数据对象,导致数据错乱;
2、代码系统为了提高系统效率将表属性模型做了缓存,在数据填充的时候重用了该模型。
重用的时候对模型进行clone,但clone的过程没有完全复制对象,只是部分复制了而另外的一部分则还是公用的。
这样造成了多个用户公用一部分数据对象从而导致数据错乱。
页:
[1]