51Testing软件测试论坛

标题: 求教:loadrunner场景里面持续进行操作报错,单独回放脚本没有问题 [打印本页]

作者: lishuchankuaile    时间: 2011-11-17 14:49
标题: 求教:loadrunner场景里面持续进行操作报错,单独回放脚本没有问题
求高手指教
我自己录制的脚本,登录在初始化事件里面,业务新增和编辑等是在action事件里面,不晓得为什么在genarator里面循环很多次都是正常的,在controller里面操作如果设置为Run until completion也没问题,但是一设置持续一段时间(如Run from 10分钟)的话就开始报错了,比如报 Error -26627: HTTP Status-Code=404 (Not Found)for "**"的错误  ,求高手解答
作者: lishuchankuaile    时间: 2011-11-17 14:55
自己顶一下
作者: lishuchankuaile    时间: 2011-11-17 15:15
一个项目急着让做性能测试,可是弄好的脚本就是不知道为什么一设置持续一段时间运行就开始报错,在网上找了很多资料也找不到解决方法,求帮忙啊
作者: lishuchankuaile    时间: 2011-11-17 15:15
自己顶一下
作者: Katero    时间: 2011-11-17 15:19
首先 你是用一个用户在controller里面验证 还是多用户并发?
其次,多用户并发,你的参数执行策略是如何设置的?
最后,系统是否支持一次登录多次操作?
作者: Katero    时间: 2011-11-17 15:21
首先,确定下你是单用户还是多用户在controller里?
其次,有没有参数,参数执行策略是怎样的?
最后,确定下系统是否支持一次登录多次操作。
作者: lishuchankuaile    时间: 2011-11-17 15:23
在controller里面验证是多用户并发的,2s钟加载一个用户,一共40个用户,持续10分钟,系统登录一次后可以在里面做任意多次操作的,这是一个应用系统,也没有关于数据唯一性的判断
作者: lishuchankuaile    时间: 2011-11-17 15:26
我一共跑了两个脚本都会遇到这样子的问题,第一个脚本登录都是用的一个用户名密码,第二个脚本对登录用户做了参数化,并且登录用户参数化的地方我已经做了验证,这个地方是没有问题的,报的那个404的页面是action里面的一个页面url,并且这个url我手动在浏览器里面是可以打开的
作者: lishuchankuaile    时间: 2011-11-17 15:26
求高手指点
作者: Katero    时间: 2011-11-17 15:31
我不是高手,“一设置持续一段时间(如Run from 10分钟)的话就开始报错了”是完全错了,还是有成功的?当前服务器资源是怎样的。
作者: lishuchankuaile    时间: 2011-11-17 15:35
几乎全部事物都是成功的,每次会报1-3个404的错误
服务器配置:服务器内存4G,cpu 2.6G
作者: lishuchankuaile    时间: 2011-11-17 15:36
也就是说会有1-3个事物失败
作者: Katero    时间: 2011-11-17 15:42
满足你们性能指标的成功率吗?当前资源使用情况,我的意思是CPU内存使用百分比。还有除了这个错误外,还有没有别的错误,有可能这个看到的只是其他错误的结果。如果有,能贴一下详细的错误说明嘛?因为是模拟并发,偶尔出错是正常的,只要在你们制定的测试指标范围内,比如成功率不低于95%,那么你成功率96%也是可以的。
作者: mymagic    时间: 2011-11-17 15:53
脚本中有登出操作吗
可能是在线瓶颈或者服务器瓶颈,看了你的配置,后者可能性较大
作者: lishuchankuaile    时间: 2011-11-17 15:57
多谢你了! 我们的cpu基本都是正常的,这个系统占用的内存是在缓慢增长的,这个开发正在查找原因。除了这个错误外还有出现Error -27727: Step download timeout (120 seconds)这个错误,但是这个一般修改了lr设置之后都没有了,只剩下那个404的错误。关于成功率这个我们还没有什么规定,我们是第一次做性能测试,也没有利害的人知道,我还以为必须要全部成功通过才算成功呢。
那么按照你的说法就是偶尔报个404也是正确的哦?
作者: Katero    时间: 2011-11-17 16:03
这个不好说,因为对一些银行来说,交易是要求100%成功率的,但是对于一些网页交易来说成功率在99%以上就是可接受的。我现在做性能测试和开发的不是一个公司的,所以,就要他们严格给出性能指标,你们如果是自己项目内部,那就和开发的讨论下。上面一位同学讲的也有道理,如果没有登出操作,很有可能造成某个SessionID 没有关闭,造成内存一直上升。还有就是如果是Java的默认内存管理机制,很可能是内存释放不够及时。另一个想问的是,这个错误,是在测试过程中不规律的间断出现,还是在后面,一下子爆出来的,如果是在你规定的测试时间后面一下子出来的,你可以尝试把测试时间放长一点。
作者: Katero    时间: 2011-11-17 16:04
报错总是不对的,主要是看你们要求系统达到一个什么样的性能水准。
作者: lishuchankuaile    时间: 2011-11-17 16:10
我们的服务器配置应该是满足系统要求的吧,服务器上面除了tomcat和数据库就没有其它任何东西了,还是局域网,另外脚本是有登出操作的,登录操作在init事件里面,登出操作在end事件里面,其它的新增修改操作都是在action事件里面了,只有40个人,也就是只有40个session了。这个错误是不规律出现的,即使持续时间设置为几个小时也还是有这个错误
作者: Katero    时间: 2011-11-17 16:23
哦,那运行过程中平均响应时间等的变化曲线平稳吗?如果一些页面的SessionID的销毁是在signout里,那么就很可能造成内存积压:你虽然是40个用户并发,如果有SessionID没有销毁,那么你的Session不是四十,而是你通过的事务数。和开发的确认下,或者是从脚本里找下所有的Creat和Destroy是否都在action里,另外就是是不是每个SessionID 都对应了销毁操作,我们上次就是开发的有一些Session忘记了做销毁操,造成内存持续上升。不过404的错误,估计和这个关系不大。最多也就是造成time out,至于timeout 和404 有没有关系,我不敢断言
作者: mymagic    时间: 2011-11-17 16:24
time out 设置999呢?
作者: Katero    时间: 2011-11-17 16:35
其实,你要搞清楚,我们呢做性能测试是为了发现系统性能问题,而不是没有错误,有了错误,才叫真正的在做测试,当然要首先排除脚本和loadrunner的错误。默认的超时时间是120 这是和浏览器一致的,除非是一些生成报表啊,以及导入导出大文件这种操作,可以适当和开发讨论,调整超时时间,一般来说,是不该调整的,如果120的情况下,有大量超时,而平均响应时间其实是远低于120s,那么就说明系统有问题。
---------------------
ps:性能场景执行,不是执行程序,要没有错误才是对的,我们是模拟真实情况,目的是探知系统性能,发现性能瓶颈
作者: 旗杆    时间: 2011-11-17 16:53
同意楼上的,你做的是性能测试,是不是一定要功能方面的错误,你可以把这个错误作为一个性能分析原因写到报告里
作者: lishuchankuaile    时间: 2011-11-17 18:26
多谢两位了,系统的内存问题找到了,是因为开发人员用了太多的string类型,这样就占用了很多的固定空间,另外的那个404的问题如果把 out time时间改长一些确实就没这个问题了。
作者: ring12345    时间: 2011-11-29 16:23
很不错哦,人多力量大,学习学习。
作者: maliya1314    时间: 2012-1-18 22:29
回复 23# lishuchankuaile


    我也是做新增,修改的脚本录制,我没有做入口和出口。
直接把脚本放在action里面,用参数化新增里的主要值,然后用关联做了一个验证,脚本回放时都没有问题的。但是一跑场景就有fail的事件。也不报错。总是有不成功的事务,这个我就不懂了?难道系统只支持并发5个?




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