这里有很多问题/答案可供理解Ramp up time
,但我想为我的测试用例详细介绍。
测试用例:在主页上每5分钟预计有1200个用户。所以它将像5个用户/秒。
我设置了以下thread properties
:
No. of Threads : 1200
Ramp-up Time - ? [I am not sure what to set]
Loop count - Forever
Scheduler - 300 Seconds[5 Minutes]
有人可以帮我设置ramp up time
我的测试用例吗?我在我的本地机器上运行测试。
我想检查服务器可以在5分钟内处理多少用户。我们的期望是1200 users
。
答案 0 :(得分:7)
根据您的测试用例和持续时间设置,我认为您正在混淆主题和请求。
简而言之:对于此方案,您必须将Ramp-up用作 240 seconds
。
让我详细描述一下你:
加速是所有用户到达测试应用服务器的时间。
采样器模拟了请求,但线程是用户的模拟。
请注意 - 请求的总数与吞吐量相关,而活动线程的数量则相关执行相同的活动与并发。
有关根据您的要求,我假设您要衡量与请求/秒相关的吞吐量,而不是每秒用户数。为此,您可以在测试计划级别使用Constant Throughput Timer。
常量吞吐量计时器允许您维护服务器的吞吐量(requests/sec
)。此处请求是采样器。 线程是使用采样器请求服务器的用户/客户端。
您可以同时使用“Thread Group
”或“Ultimate Thread Group
”来实现此目的。
据我所知,使用Constant Throughput计时器的哪种类型的Thread组无关紧要,在结果测试结束时,您将获得所需的吞吐量您在恒定吞吐量计时器中提到的,即如果您在恒定吞吐量计时器中提到 1200 / min ,“基于”值计算吞吐量为“所有活动线程” 并且您的线程组中有3个请求(采样器),然后JMeter将以每个采样器仅生成 6.6个请求/秒的方式管理请求,即1200 / min被分割在3个请求中,无论您使用 Ultimate Thread Group 还是线程组,都无关紧要;吞吐量计时器对所有类型的线程组都以相同的方式工作。
现在根据您的要求:(使用线程组):
No. of Threads : 1200
Ramp-up Time - 240 (Since you want 5 users per second, 1200/5= 240)
Loop count - Forever
Scheduler (Duration) - 780 Seconds [13 Minutes]
重要:强>
线程组配置与您已经提到的相同。线程数将是您要放置的客户端负载(
in you case it's 1200
),duration : (240+300+240)
,loop : forever
,ramp-up : 240
是的,当您加速时,即在第一分钟通常您线程启动时获取更多请求,这是正常行为。 要测试您的场景运行5分钟,您应该测试13 minutes
。排除测试的前4分钟和最后4 min
,因为这是测试和服务器的预热时间,而上一个4 min
是预热期。
现在根据您的要求:(使用Ultimate Thread Group):
Start Thread Count: 1200
Initial delay, sec: 0
Startup, sec: 240 (I assume you want 5 users come to your application for requesting expected samples per second)
Hold Load for: 300 sec (Since you required 5 minutes to test for 1200 users)
Shutdown Time, sec: 240
您可以这样设置:
不要将主题号与请求数混淆,每个主题将在字段保持加载中创建多个秒请求>
答案 1 :(得分:3)
Rampup是用户到达您的应用程序的速度。 您输入的数字意味着一旦到达,所有线程都已启动。 最微小的是,用户到达的速度越快。 所以没有人可以为你解答,你需要分析你的流量。
关于线程数,1200个线程可能不是好数字,因为1200个用户可以缓慢或快速地在应用程序上导航。 您需要的是添加一个恒定吞吐量计时器来控制您将达到的每秒事务数量。
答案 2 :(得分:2)
您应该使用标准集中提供的Ultimate Thread Group
插件。
要保持并发性,配置应如下所示:
Start Thread Count: 1200
Initial delay, sec: 0
Startup, sec: 60
Hold Load: 180
Shutdown Time, sec: 60
Ultimate Thread Group Access denied for user 'root'@'localhost' (using password: NO)
此处1200 threads
所有60 sec
将在Startup time
180 sec
内生成(加速时间)。下一个60 sec
将有1200个线程处于活动状态,之后那些线程将在下一个Hold Load
内关闭。
因此,测试的整体持续时间为300秒。在整个transactions per second
时间(180秒)内,请求将循环播放。
这个终极线程组将为您提供对线程的更多控制。
现在,如果您想控制Constant Throughput Timer
的速率或要执行的样本数,您可以使用"Thread Group"
。常量吞吐量计时器将允许您控制要发送的请求流。默认col1
仅控制用户或线程的生成方式。它不能控制请求命中率的命令率。因此,您可以使用“常量吞吐量计时器”来控制您的每秒请求数。有关详细信息,您可以浏览JMeter 。