51Testing软件测试论坛

标题: 请问500用户在线这样的需求是什么意思 [打印本页]

作者: fox-huling    时间: 2008-1-8 11:27
标题: 请问500用户在线这样的需求是什么意思
我们公司用LR做压力测试,需求是500用户在线,100用户并发。但是我现在有些不明白的就是说在线的定义是什么,我认为的是在录制脚本的时候应该先登陆,进行完操作之后再登出。但是我的同事认为在线就是只登陆不登出,这样不是会造成系统缓存占用的越来越多吗?
请高手解答一下。
还有一个问题就是500用户在线,可以设置50个用户迭代10次吗?还是说在CONTROLLER里QUANTITY直接设置为500?这2种设法有什么区别?
迭代的目的是否仅仅是为了延长压力测试的时间呢???
高手请指教!!!!!!!!!!!!

[ 本帖最后由 fox-huling 于 2008-1-8 11:43 编辑 ]
作者: 54111    时间: 2008-1-8 14:21
如果是500用户同时在线的话,我认为就是登陆500个用户不退出。
个人理解迭代就是用来做压力测试的,也就是延长压力时间,不过也可以设定脚本的运行时间。
作者: fox-huling    时间: 2008-1-8 15:10
我认真的和同事讨论了一下,得出的结论是在录制脚本的时候还是应该做LOGOUT操作,500用户在线的话QUANTITY直接设置为500,然后让其迭代10次,以延长压力时间,那么在迭代的过程当中即使有LOGOUT操作但是还是能够一直保持500个用户在线,我是这么认为的。
因为如果不做注销操作的话,系统缓存持续上升,很容易就内存溢出了。。。。
还有就是500用户在线不可以设置50个用户迭代10次,因为50个用户迭代10次是在迭代到最后一次的时候才有500个用户的,而不是一开始就有500个用户在线的。
以上就是我们讨论的结果,我认为应该是正确的,请高手指教。
作者: leey    时间: 2008-1-9 11:07
没错,500在线是这个意思,其实就是 running vuser=500
作者: 森林一木    时间: 2008-1-9 14:07
500在线,是不是会产出500个连接呢?如果是的,我觉得可以用不着500个vuser,将登录部分录制在action中,持续时间设置15分钟左右,只登录不退出,这样会重复执行登陆部分,应该可以的吧?
作者: hmilyjch    时间: 2008-1-9 15:30
我觉得设置500个用户,再设置场景执行时间即可
把登录录制在init中
推出录制在end中
作者: dove_hn    时间: 2008-1-9 15:35
500用户在线,100用户并发就是QUANTITY=500,集合点设置100个用户,如果不需要测试login和logout,那么一般login在init里面,logout在end里面,action循环执行能够测试系统持续压力的处理能力,也能测试是否有内存泄露等,呵呵,action的循环次数一般是根据测试需求来的。
作者: sdusun    时间: 2008-1-9 16:02
我的理解:
400用户登入,不执行任何Action,也不登出。
100用户登入,执行测试的Action,不登出。
这样就是500在线,100并发吧?
作者: fox-huling    时间: 2008-1-9 16:20
上面理解的不对,应该我那样理解才对
作者: chris198685    时间: 2008-1-9 16:40
500用户在线是真实存在于数据库的500个用户记录同时在系统里,而不是楼主你理解的那样
总共500用户,其中100用户是一起进行登录或者是登出操作,楼主懂了么
设置个时间间隔,执行登录操作用INIT,100个100个地增加集合点进行登录,5次后在线用户就达到500了,然后action里不用写脚本,end里执行登出,也是100,100地递减,直至全部登出为止
作者: chris198685    时间: 2008-1-9 16:41
用户数100在controller里设置
作者: chris198685    时间: 2008-1-9 16:43
还有一个问题就是500用户在线,可以设置50个用户迭代10次吗?还是说在CONTROLLER里QUANTITY直接设置为500?这2种设法有什么区别?
迭代的目的是否仅仅是为了延长压力测试的时间呢???

这个问题,并发是100,所以你要把50迭代10次改为100迭代5次才对,一下子上500就是并发500了,与你的测试要求不符合
作者: chris198685    时间: 2008-1-9 16:45
init与end里的脚本是只执行一次就结束了的,与action的循环执行不一样。首先你录脚本要看对地方录制。

我的理解就是这样,不好意思写了那么多的帖
作者: toneyzhang    时间: 2008-1-18 18:21
我的理解是500用户是指vuser,而100的并发针对某个action或者某一个测试点并发。
作者: lyscu    时间: 2008-1-18 22:48
我认为,这个需求可以分为两个部分:
第一,是500在线用户的问题。如果你登录进去,不进行任何操作,这样是不会对服务器造成任何压力的。所以,这500个用户登录完后(可以不同时登录),一定要有一段时间都在进行操作。
第二,100并发。也就是系统能够支持100个用户同时登录、同时操作某项业务,退出等操作。需要设置集合点进行测试。
而且不同的系统有不同的经验值,也就是说,VU与实际用户的百分比。要求有500个用户在线,通过软件模拟,可能只需要50个VU就能够完成。
对于概念性的问题,建议读一下书籍。
作者: xjs19841125    时间: 2008-1-19 17:26
500用户在线,不代表500用户在使用系统,也许其中90%的用户在浏览信息,只有20%的用户在进行操作,这样的话90%的用户并不对服务器造成压力,这要根据具体系统分析。

100用户并发又可以理解为100用户并发对系统的不同事务进行操作,与100用户对同一事务进行操作,前者更符合实际情况,可以分两部分设计测试用例。

综合以上考虑,可以针对500用户在线,分析系统实际使用强度,把500用户分组,分成不对系统造成压力部分,与对系统造成压力部分,测试时不考虑不对系统造成压力部分,然后对系统造成压力部分进行划分,分为不同的功能组(用
户组,比如数据查询,在线交易等),按比率分配不同的用户数进行测试。

100用户并发也分为两部分,针对关键业务点,执行100用户对关键业务进行并发操作,以及对按功能划分把100用户为不同的用户组,并发对系统中的不同功能点进行操作。




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