【问题标题】:Jmeter thread group durationJmeter线程组持续时间
【发布时间】:2021-05-28 07:33:31
【问题描述】:

我有这种情况:

  • 线程组(n_threads=X,持续时间 Y 秒)
    • 循环
      • Java 采样器

当测试持续时间结束时,Jmeter 不会停止发出请求的线程,因此测试不会终止。怎么解决?

【问题讨论】:

    标签: java jmeter traffic


    【解决方案1】:

    当您的“Java Sampler”的响应时间高于您的测试持续时间时,可能会发生这种情况。我建议在您的 Java 代码中引入合理的超时,这样采样器就会失败/退出,而不是永远等待响应。如果您不知道那里发生了什么,请发送thread dump 并查看您的线程卡在哪里

    作为解决方法,我能想到的“终止”测试的唯一方法是:

    1. 使用 1 个线程添加另一个线程组

    2. 使用以下代码添加JSR223 Sampler

      sleep(5000) // wait for 5 seconds, amend accordingly to your desired test duration
      log.info('Exceeded test duration')
      System.exit(1)   // the process will exit with non-zero exit code (error), change it to 0 if needed
      

      有关 JMeter 中 Groovy 脚本概念的更多信息,请参阅 Apache Groovy - Why and How You Should Use It

    另外请注意,此代码将终止整个 JVM,因此将jmeter.save.saveservice.autoflush=true 行添加到 user.properties 可能是有意义的,因为强制终止整个 JVM 可能会导致一些结果丢失。

    【讨论】:

    • 嗨 Dimitri,如果我选中“连续运行线程组”选项,这项工作也有效?
    猜你喜欢
    • 2021-03-19
    • 2021-06-10
    • 1970-01-01
    • 2016-09-02
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-04
    相关资源
    最近更新 更多