51Testing软件测试论坛

标题: 高手请进!loadrunner controller做压力测试时并发用户退出时出错 [打印本页]

作者: gameover121    时间: 2012-6-14 11:36
标题: 高手请进!loadrunner controller做压力测试时并发用户退出时出错
本帖最后由 gameover121 于 2012-6-14 15:28 编辑

压力测试的脚本中init为登陆的过程,action为访问一个接口的过程,end为登出的过程
我在做压力测试时设置的虚拟用户数为100个,开始阶段以20个/30秒的速度启动,分5批先后启动,150秒后全部启动完毕;
然后它们会运行10分钟,循环访问action中的接口,运行过程中没有error产生;
十分钟之后开始分批退出,以20个/30秒的速度退出,但是在最后一批20个虚拟用户退出的时候总是会出现这样一些Error:
Action.c(19): Web service call "xxxx(接口名称)" execution failed
Action.c(19): Error: InvokeMethod failure: Abort was called.
Action.c(19): Error: ExtractResultArg failure: Object reference not set to an instance of an object..


我试验了很多次,发现只要是多个用户同时退出的时候,总是会在最后一个批次的虚拟用户执行过程中出现这样的error,即使是两个一批得退出也会有这样的错误产生,如果是逐个地退出就不会有error产生。
有没有碰到过这样的问题?怎么解决的?

作者: Donly    时间: 2012-6-14 15:54
不会是你的接口不支持并发退出吧??这个错应该是出自你的程序本身,不是LR。
作者: gameover121    时间: 2012-6-14 16:32
不会是你的接口不支持并发退出吧??这个错应该是出自你的程序本身,不是LR。
Donly 发表于 2012-6-14 15:54

我也想过会不会是这个问题,但是在这一百个虚拟用户中前四批的虚拟用户都是正常退出了,反而在最后一批的用户快要退出时执行Action的过程中出错了;如果说不支持并发退出的话前面四批的虚拟用户也不可能都不出错。
作者: Donly    时间: 2012-6-14 17:28
回复 3# gameover121


    嗯。。也是哈!那你自己再分析分析,,有结果了再分享一下
作者: wangqiang88    时间: 2012-6-15 09:42
能否查看正在运行和已退出或正在退出的用户状态。会不会action还没有跑完那边就退来了,导制错误。我是新手,猜的
作者: lonyzou    时间: 2012-6-15 10:57
楼主,你单独的测试下这个退出功能,执行并发测试,看看是什么结果。
作者: lonyzou    时间: 2012-6-15 10:58
场景设计跟这个一样,开始阶段以20个/30秒的速度启动,并且以20个/30秒的速度退出
作者: lonyzou    时间: 2012-6-15 10:58
另外,循环访问action中的接口中,有没有添加集合点。
作者: gameover121    时间: 2012-6-15 14:14
回复 5# wangqiang88
错误都是发生在最后一批虚拟用户结束的那一瞬间;你说的“action还没有跑完那边就退下来”的意思是不是在剩下的那一批用户还在执行action的迭代时,controller强行执行了停止命令?所以导致了这个错误?不过我想不通controller怎么可以能够在action没执行完毕的时候就可以强制停止它它还能继续执行导致出错?
作者: zoudengjin    时间: 2013-3-1 16:52
遇到同样问题,不知道版主解决了吗




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2