jmeter用户登录和线程组问题
求大牛指点我们现在有个场景。
需要登录之后才能访问平台功能。目前用http cookie manager已经能实现。但是现在有个问题,用户的session信息貌似是以线程为单位的。就是
比如要模拟50个并发操作。那就得在线程组配50,相当于登录50次。但是我们的用户登录验证这块的机器不能承受太大的压力,所以想着是只登录一次,然后模拟这个登录用户并行执行50个操作的方式。
这个如何实现呢? 回复 1# spookysky
尝试设置controller呢?
登录的线程 在Logic controller中设个once only controller 回复 2# 土土的豆豆
试验过,设置这个controller也只能实现一个线程如果重复执行的话,只有登录一次。即,如果设置50个线程,循环执行10次,登录请求用once controller来控制,实际这个请求也会被发送50次。
现在感觉如果要解决这个问题需要能在线程组之间维持session的信息,但是貌似http cookie manager没有效果 回复 2# 土土的豆豆
这只能保证同一线程循环执行的时候只登陆一次,但是并发的线程还会进行登陆
感觉如果线程组之间能实现维持session信息就可以,但是目前试用过http cookier manager没效果 在你要并发的请求上加个集合点,这样可以实现你需要的场景了 本帖最后由 spookysky 于 2013-1-10 15:19 编辑
回复 5# 系统消息
集合点?请问下具体怎么实现?
查了下是不是使用Synchronizing Timer?这个看了下说明是只用于线程等待吧?
那怎么实现登录一次,在登录后再进行多并发的操作呢 5F有道理 意思即是在50个线程并发操作时 考虑集合点一次性启用服务
不过登录session保存后 后续是否会有影响 有待LZ试验 有空我也去研究学习下 呵呵~ 集合点的方式。目前我使用的方式是50个并发登录(rang-up设置成20秒,令权限验证的压力小些。),然后在后续的并发访问那设置个Synchronizing Timer
也就是登录请求的压力分散,再通过Synchronizing Timer,保证后续的请求的同时并发。。算是比较trick的实现吧 时间过去很久了,楼主是通过Synchronizing Timer处理的吗?
我理解的楼主的意思是想用户登录一次进行多种操作,不知道是否正确,我这是这么做的:
设置线程数为1,把登录以外的请求放在循环控制器内(循环次数根据需要设置),这次就实现登录一次可以进行多种操作了 时间过去很久了,楼主是通过Synchronizing Timer操作的吗?
我理解的楼主的意是想登录一次进行多种操作,不知道是不是这样,我是这么操作的:
设置循环次数为1,在登录请求后面加循环控制器(循环次数根据需要设置),登录之外的请求都放在循环控制器内,这样就实现登录一次进行多种操作了 刚试了下,登陆一次,提取session写到cooki 管理器中,测试的sample取消跟随重定向(就可以保持session不变),就可以并发了;但过段时间session应该会超时。 登陆一次,提取session,写到cooki 管理器中,取消测试sample的跟随重定向(session会不变),然后就可以并发了 heavily_51t 发表于 2015-2-2 19:51
时间过去很久了,楼主是通过Synchronizing Timer操作的吗?
我理解的楼主的意是想登录一次进行多种操作, ...
这只是循环执行,也不是并发啊。 本人jmeter菜鸟一个,想请问一下
jmeter对登陆进行压力测试,可是每次登陆的用户session值都传不到welcome页,数据显示都停留在login页,这个怎么解决呢 "只登录一次,然后模拟这个登录用户并行执行50个操作的方式"
把功能接口放入循环控制器,设置50 你既不想50个线程用户同时登陆,又不想使用循环控制器进行50个用户循环,那么还有一种办法就是①线程设置为1 线程循环设置为50②将登陆放置在仅一次控制器下方 登录的sessionId如何设置,在第一次登录之后,后续的操作不需要在执行登录的操作,能保证sessionId不变呢?
页:
[1]