51Testing软件测试论坛

标题: jmeter用户登录和线程组问题 [打印本页]

作者: spookysky    时间: 2013-1-9 18:20
标题: jmeter用户登录和线程组问题
求大牛指点

我们现在有个场景。
需要登录之后才能访问平台功能。目前用http cookie manager已经能实现。但是现在有个问题,用户的session信息貌似是以线程为单位的。就是

比如要模拟50个并发操作。那就得在线程组配50,相当于登录50次。但是我们的用户登录验证这块的机器不能承受太大的压力,所以想着是只登录一次,然后模拟这个登录用户并行执行50个操作的方式。
这个如何实现呢?
作者: 土土的豆豆    时间: 2013-1-10 09:52
回复 1# spookysky
尝试设置controller呢?
登录的线程 在Logic controller中设个once only controller
作者: spookysky    时间: 2013-1-10 10:34
回复 2# 土土的豆豆


   试验过,设置这个controller也只能实现一个线程如果重复执行的话,只有登录一次。即,如果设置50个线程,循环执行10次,登录请求用once controller来控制,实际这个请求也会被发送50次。

现在感觉如果要解决这个问题需要能在线程组之间维持session的信息,但是貌似http cookie manager没有效果
作者: spookysky    时间: 2013-1-10 10:36
回复 2# 土土的豆豆

这只能保证同一线程循环执行的时候只登陆一次,但是并发的线程还会进行登陆

感觉如果线程组之间能实现维持session信息就可以,但是目前试用过http cookier manager没效果
作者: 系统消息    时间: 2013-1-10 13:27
在你要并发的请求上加个集合点,这样可以实现你需要的场景了
作者: spookysky    时间: 2013-1-10 15:15
本帖最后由 spookysky 于 2013-1-10 15:19 编辑

回复 5# 系统消息
集合点?请问下具体怎么实现?
查了下是不是使用Synchronizing Timer?这个看了下说明是只用于线程等待吧?
那怎么实现登录一次,在登录后再进行多并发的操作呢
作者: 土土的豆豆    时间: 2013-1-11 08:47
5F有道理 意思即是在50个线程并发操作时 考虑集合点一次性启用服务
不过登录session保存后 后续是否会有影响 有待LZ试验 有空我也去研究学习下 呵呵~
作者: spookysky    时间: 2013-1-11 10:29
集合点的方式。目前我使用的方式是50个并发登录(rang-up设置成20秒,令权限验证的压力小些。),然后在后续的并发访问那设置个Synchronizing Timer

也就是登录请求的压力分散,再通过Synchronizing Timer,保证后续的请求的同时并发。。算是比较trick的实现吧
作者: heavily_51t    时间: 2015-2-2 19:48
时间过去很久了,楼主是通过Synchronizing Timer处理的吗?
我理解的楼主的意思是想用户登录一次进行多种操作,不知道是否正确,我这是这么做的:
设置线程数为1,把登录以外的请求放在循环控制器内(循环次数根据需要设置),这次就实现登录一次可以进行多种操作了
作者: heavily_51t    时间: 2015-2-2 19:51
时间过去很久了,楼主是通过Synchronizing Timer操作的吗?
我理解的楼主的意是想登录一次进行多种操作,不知道是不是这样,我是这么操作的:
设置循环次数为1,在登录请求后面加循环控制器(循环次数根据需要设置),登录之外的请求都放在循环控制器内,这样就实现登录一次进行多种操作了
作者: shougeng    时间: 2016-2-19 19:38
刚试了下,登陆一次,提取session写到cooki 管理器中,测试的sample取消跟随重定向(就可以保持session不变),就可以并发了;但过段时间session应该会超时。
作者: shougeng    时间: 2016-2-19 19:40
登陆一次,提取session,写到cooki 管理器中,取消测试sample的跟随重定向(session会不变),然后就可以并发了
作者: 可乐咖啡厅    时间: 2016-3-11 20:01
heavily_51t 发表于 2015-2-2 19:51
时间过去很久了,楼主是通过Synchronizing Timer操作的吗?
我理解的楼主的意是想登录一次进行多种操作, ...

这只是循环执行,也不是并发啊。
作者: Minoz~~~    时间: 2016-4-9 08:48
本人jmeter菜鸟一个,想请问一下
jmeter对登陆进行压力测试,可是每次登陆的用户session值都传不到welcome页,数据显示都停留在login页,这个怎么解决呢
作者: chenhao017    时间: 2016-5-5 16:37
"只登录一次,然后模拟这个登录用户并行执行50个操作的方式"
把功能接口放入循环控制器,设置50
作者: 348129221    时间: 2016-6-21 14:46
你既不想50个线程用户同时登陆,又不想使用循环控制器进行50个用户循环,那么还有一种办法就是①线程设置为1 线程循环设置为50②将登陆放置在仅一次控制器下方
作者: hyfreefly    时间: 2016-6-26 18:00
登录的sessionId如何设置,在第一次登录之后,后续的操作不需要在执行登录的操作,能保证sessionId不变呢?




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