JMeter线程组爬升时间加持续时间问题
运行JMeter版本5.4.1 我对JMeter线程组进行了以下设置:JMeter线程组爬升时间加持续时间问题,jmeter,threadgroup,Jmeter,Threadgroup,运行JMeter版本5.4.1 我对JMeter线程组进行了以下设置: 线程数:300 加速期:300秒 循环计数:无限 指定线程生存时间:持续时间600秒,启动延迟:0 线程组设置为在出现示例错误后继续 因此,在上面的设置中,我希望测试每秒运行1个线程,当它达到300(5分钟)秒时,它将运行整整300个线程。停止前,每个线程应运行600秒(10分钟)。我预计总运行时间为900秒(最后一个线程从5分钟开始+10分钟运行时间=15分钟) 但实际的行为是不同的,我不明白为什么 实际行为:
- 线程数:300
- 加速期:300秒
- 循环计数:无限
- 指定线程生存时间:持续时间600秒,启动延迟:0
谁能给我解释一下这里发生了什么事吗?这不准确,并指定了加上完成部分 这表示测试的总持续时间。通过指定持续时间值来运行测试的一个缺点是,当测试持续时间完成时,测试立即停止;在没有完成循环(迭代)的情况下,您可以看到事务计数的一些差异
您必须相应地配置测试持续时间 在您的情况下,测试在600秒时结束。最后120秒是这些活动线程的缓降时间。你可以观察它通过 您的总测试持续时间类似于
预热期+保持负载活动+预热期
。i、 e(300+600+300)=1200
秒或20
分钟
300个线程将在300秒内处于活动状态,然后所有300个线程将在600秒内命中对服务器的请求,然后这300个线程将在接下来的300秒内关闭
您也可以这样使用,以便更好地理解您的测试,其中预热期为120秒,因此测试的总持续时间为(5+10+2)=17
分钟或1020
秒
您指定测试持续时间为600秒,为什么您希望测试持续时间更长 一旦超过600秒,JMeter将要求线程停止,所有线程停止所需的时间主要取决于测试的性质、请求/响应大小等。在理想条件下,测试应立即停止 因此,如果您希望测试运行15分钟,请将持续时间设置为900秒
如果您希望逐步下降-考虑将定时器添加到测试计划中,或者切换到允许对线程进行精确控制的A,请参阅文章以获得更多细节。
返回线程终止需要2分钟,情况应该不是这样,请确保并遵循其他测试循环本身非常快,每个循环不到一秒钟。但它被设置为无限循环。因此,这里的实际测试持续时间应该无关紧要,至少它不应该造成运行时间的3分钟差异。@JaySym使用此功能不能依赖于精确的计时