lunahaha527 发表于 2014-5-5 10:20:53

想与有经验的童鞋一起讨论下,性能测试中,thinktime以及TPS相关问题

背景:
    测试共5个虚拟用户,未设置并发。TPS达到每秒37左右。
    在测试到三分钟左右时,出现第一个失败。查看业务日志出现ORA-00001: unique constraint (XXX) violated。
经过开发分析,说是可能由于LR在并发TPS时,比如有两个同时(秒及毫秒发送相同的请求)到业务,业务处理时,会按照请求的时间+随机数 生成一个随机序列,并入DB,
此时,由于两个请求的时间一样,即随机序列也一样。入DB会报这个错误。

需要讨论问题如下:
    1)开发的这个随机生成的算法是否可以优化?
    //与开发交流,他说这个相同的毫秒级别的情况基本不会出现,或者是比较少出现。说不用管。请问有经验的高手们,开发这个说词是否在推脱,不想改代码。
    2)开发说要加各个请求向服务器发送的响应时间
    我在脚本中加了,LR_THINK_TIME(0.5) 发现每秒的TPS下降了不少,达不到每秒37,只能到7左右。随即又把时间调整到了0.005,但是还是会出现失败,
   并且成功都在98%,个人认为业内是在99.999%才能发布。
   想请问的是,是否要加响应时间,如何加?不知道是否有高手或者有项目经验的童鞋一起讨论下呢?

gaha 发表于 2014-5-5 11:37:40

第一个,好像随机码的时候用unique就可以避免撞车了吧?
第二个,获取响应时间,你家思考时间做什么?我不是很理解这个处理,每个线程增加了思考时间,好像就会影响到TPS吧,如果非要用思考时间,你试试加上集合点策略。
页: [1]
查看完整版本: 想与有经验的童鞋一起讨论下,性能测试中,thinktime以及TPS相关问题