JMeter线程组Duration和循环次数设置冲突后,Duration优先级高

在JMeter中,如果线程组的Duration(持续时间)到期,但循环次数还未完成,线程会结束。这意味着Duration参数优先于循环次数。当持续时间到达时,线程组会强制停止,无论循环是否完成。

详细解释:

  • Duration(持续时间):这是线程组运行的总时间,单位为秒。当达到这个时间限制时,线程组中的所有线程都会停止运行。
  • Loop Count(循环次数):这是线程组中每个线程执行测试计划的次数。

示例:

假设你有以下配置:

  • 线程数(Number of Threads):10
  • 持续时间(Duration):60秒
  • 循环次数(Loop Count):10

在这种情况下:

  1. 当你启动测试后,JMeter会逐步启动10个线程。
  2. 每个线程将开始执行测试计划,并尝试执行10次循环。
  3. 然而,由于持续时间设置为60秒,一旦60秒到达,所有线程将被强制停止,无论它们是否完成了10次循环。

配置示例:

XML 复制代码
<ThreadGroup>
    <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
    <elementProp name="ThreadGroup.main_controller" elementType="LoopController">
        <boolProp name="LoopController.continue_forever">false</boolProp>
        <intProp name="LoopController.loops">10</intProp> <!-- 设置循环次数 -->
    </elementProp>
    <stringProp name="ThreadGroup.num_threads">10</stringProp> <!-- 设置线程数 -->
    <stringProp name="ThreadGroup.ramp_time">20</stringProp> <!-- 设置加速时间 -->
    <longProp name="ThreadGroup.start_time">0</longProp>
    <longProp name="ThreadGroup.end_time">0</longProp>
    <boolProp name="ThreadGroup.scheduler">true</boolProp> <!-- 启用调度器 -->
    <stringProp name="ThreadGroup.duration">60</stringProp> <!-- 设置持续时间 -->
</ThreadGroup>

结论:

当持续时间(Duration)到达时,线程组会停止运行,即使设置的循环次数还未完成。因此,Duration参数在这种情况下优先于循环次数。

相关推荐
爆更小哇3 天前
jmeter插件下载+创建梯度线程组+命令生成性能测试报告
测试工具·jmeter·自动化
抓到小松鼠4 天前
jmeter-事务控制器
jmeter
张永清-老清4 天前
每周读书与学习->Jmeter中如何使用Bean Shell脚本(三)Bean Shell的基础语法之运算符和控制流语句
学习·jmeter·性能优化·性能测试·jmeter性能测试·beanshell·每周读书与学习
张永清5 天前
每周读书与学习->Jmeter中如何使用Bean Shell脚本(三)Bean Shell的基础语法之运算符和控制流语句
jmeter·性能测试·性能调优·jmeter性能测试·性能分析·性能监控·性能诊断·每周读书与学习·bean shell
半个俗人5 天前
13.jmeter性能测试高并发及高频率弱压力及持续高并发
jmeter
程序员杰哥5 天前
Jmeter正则表达式提取器和JSON提取器基础用法
自动化测试·软件测试·测试工具·jmeter·正则表达式·json·测试用例
半个俗人5 天前
12.jmeter跨越线程组传值-全局变量
jmeter
半个俗人6 天前
14.jmeter图形化报告
jmeter
爆更小哇6 天前
JMeter配置和使用入门指南
java·开发语言·测试工具·jmeter·自动化