Jmeter - 连续过期10小时后重启会话

时间:2015-02-26 16:30:06

标签: session jmeter session-timeout

我目前的环境:JMeter v2.11,远程Oracle 12,JDK 7

我有一个浸泡测试用Jmeter生成,我不确定如何做我需要的。

基本上 - 我有一个200个用户的录制脚本,可以登录1个线程组内的Web应用程序,但我需要保持10个小时。

http会话将在15分钟后过期,因此我有点迷失了如何在http会话到期后重启会话。我有一个想法,我已经玩过循环计数'线程组上的设置,我已经用Google搜索了答案,我在这个论坛上搜索了但我还没有发现任何我能看到的相关内容(尽管我确实找到了相当的东西)有趣)。

我目前的工作方式如下:

Thread Group - Number of Threads --> 200, Ramp Up --> 50, Loop Count ---> 1 --HTTP Request Defaults --HTTP Cookie Manager --Recording Controller ---HTTP Request - Login Page Launched ---HTTP Request - Username Input ---HTTP Request - Password Input ---HTTP Request - Login Button selected ---Some listeners

与我以前的帖子一样 - 我非常感谢任何人都能提供的任何指导。

干杯!

1 个答案:

答案 0 :(得分:1)

JMeter的工作原理如下:

它在提供的提升期限内启动所有已定义的虚拟用户(线程)。在您的情况下,这意味着JMeter每秒增加4个新虚拟用户,持续200秒。

每个线程尽可能快地执行采样器倒置。当采样器完成其工作并且没有更多的循环来迭代时,它将被关闭。

如果您希望您的方案运行超过10个小时,请将“循环计数”设置为“永久”,并在线程组级别将“持续时间”指定为36000秒,如下图所示:

Thread Group Scheduler

在这种情况下,您将获得200个并发用户执行定义的采样器10个小时。

指定测试(或特定测试部分)持续时间的另一个选项是使用Runtime Controller

如果您不需要200个并发用户但每秒需要200个请求,请查看Constant Throughput Timer文档。

此外,JMeter在协议级别上运行,它实际上并没有在输入或单击按钮中输入任何内容,所以我的期望是您的场景应如下所示:

  • 打开登录页面(HTTP GET)
  • 执行登录(HTTP POST)

希望这会有所帮助。