51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 15427|回复: 16

jmeter用户登录和线程组问题

[复制链接]

该用户从未签到

发表于 2013-1-9 18:20:36 | 显示全部楼层 |阅读模式
求大牛指点

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

比如要模拟50个并发操作。那就得在线程组配50,相当于登录50次。但是我们的用户登录验证这块的机器不能承受太大的压力,所以想着是只登录一次,然后模拟这个登录用户并行执行50个操作的方式。
这个如何实现呢?
回复

使用道具 举报

  • TA的每日心情
    奋斗
    2021-8-5 10:07
  • 签到天数: 1136 天

    连续签到: 1 天

    [LV.10]测试总司令

    发表于 2013-1-10 09:52:58 | 显示全部楼层
    回复 1# spookysky
    尝试设置controller呢?
    登录的线程 在Logic controller中设个once only controller
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2013-1-10 10:34:10 | 显示全部楼层
    回复 2# 土土的豆豆


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

    现在感觉如果要解决这个问题需要能在线程组之间维持session的信息,但是貌似http cookie manager没有效果
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2013-1-10 10:36:21 | 显示全部楼层
    回复 2# 土土的豆豆

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

    感觉如果线程组之间能实现维持session信息就可以,但是目前试用过http cookier manager没效果
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2013-1-10 13:27:13 | 显示全部楼层
    在你要并发的请求上加个集合点,这样可以实现你需要的场景了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2013-1-10 15:15:27 | 显示全部楼层
    本帖最后由 spookysky 于 2013-1-10 15:19 编辑

    回复 5# 系统消息
    集合点?请问下具体怎么实现?
    查了下是不是使用Synchronizing Timer?这个看了下说明是只用于线程等待吧?
    那怎么实现登录一次,在登录后再进行多并发的操作呢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-8-5 10:07
  • 签到天数: 1136 天

    连续签到: 1 天

    [LV.10]测试总司令

    发表于 2013-1-11 08:47:26 | 显示全部楼层
    5F有道理 意思即是在50个线程并发操作时 考虑集合点一次性启用服务
    不过登录session保存后 后续是否会有影响 有待LZ试验 有空我也去研究学习下 呵呵~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2013-1-11 10:29:49 | 显示全部楼层
    集合点的方式。目前我使用的方式是50个并发登录(rang-up设置成20秒,令权限验证的压力小些。),然后在后续的并发访问那设置个Synchronizing Timer

    也就是登录请求的压力分散,再通过Synchronizing Timer,保证后续的请求的同时并发。。算是比较trick的实现吧
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-8-24 14:34
  • 签到天数: 18 天

    连续签到: 1 天

    [LV.4]测试营长

    发表于 2015-2-2 19:48:05 | 显示全部楼层
    时间过去很久了,楼主是通过Synchronizing Timer处理的吗?
    我理解的楼主的意思是想用户登录一次进行多种操作,不知道是否正确,我这是这么做的:
    设置线程数为1,把登录以外的请求放在循环控制器内(循环次数根据需要设置),这次就实现登录一次可以进行多种操作了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-8-24 14:34
  • 签到天数: 18 天

    连续签到: 1 天

    [LV.4]测试营长

    发表于 2015-2-2 19:51:44 | 显示全部楼层
    时间过去很久了,楼主是通过Synchronizing Timer操作的吗?
    我理解的楼主的意是想登录一次进行多种操作,不知道是不是这样,我是这么操作的:
    设置循环次数为1,在登录请求后面加循环控制器(循环次数根据需要设置),登录之外的请求都放在循环控制器内,这样就实现登录一次进行多种操作了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-2-19 19:38:23 | 显示全部楼层
    刚试了下,登陆一次,提取session写到cooki 管理器中,测试的sample取消跟随重定向(就可以保持session不变),就可以并发了;但过段时间session应该会超时。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-2-19 19:40:37 | 显示全部楼层
    登陆一次,提取session,写到cooki 管理器中,取消测试sample的跟随重定向(session会不变),然后就可以并发了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-3-20 10:58
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    发表于 2016-3-11 20:01:18 | 显示全部楼层
    heavily_51t 发表于 2015-2-2 19:51
    时间过去很久了,楼主是通过Synchronizing Timer操作的吗?
    我理解的楼主的意是想登录一次进行多种操作, ...

    这只是循环执行,也不是并发啊。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-4-9 08:48:24 | 显示全部楼层
    本人jmeter菜鸟一个,想请问一下
    jmeter对登陆进行压力测试,可是每次登陆的用户session值都传不到welcome页,数据显示都停留在login页,这个怎么解决呢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-5-5 16:33
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    发表于 2016-5-5 16:37:46 | 显示全部楼层
    "只登录一次,然后模拟这个登录用户并行执行50个操作的方式"
    把功能接口放入循环控制器,设置50
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-6-21 14:46:31 | 显示全部楼层
    你既不想50个线程用户同时登陆,又不想使用循环控制器进行50个用户循环,那么还有一种办法就是①线程设置为1 线程循环设置为50②将登陆放置在仅一次控制器下方
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-6-26 18:00:15 | 显示全部楼层
    登录的sessionId如何设置,在第一次登录之后,后续的操作不需要在执行登录的操作,能保证sessionId不变呢?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-3-29 21:09 , Processed in 0.079563 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表