如何在JMeter中修复“一个或多个测试线程将不存在”

时间:2018-12-25 10:22:12

标签: jmeter

我在JMeter中设计了一个测试线程,有时,当通过GUI运行它时,该测试线程只是挂断了,永远都不会结束。

  1. 通过单击“停止”或“关闭”,它将显示“正在关闭所有测试线程。您可以在GUI的右上角看到活动线程的数量。请耐心等待。”,该线程永远不会停止了。
  2. 通过关闭对话框,它将显示“一个或多个测试线程将不存在;请参阅日志文件。”,但jmeter.log中没有错误日志。

JMeter的结构:

  • 测试计划
  • ----用户定义的变量
  • ---- HTTP请求默认值
  • ----线程
  • -------- HTTP Cookie管理器
  • -------- HTTP请求
  • --------循环控制器
  • ------------ CSV数据集配置
  • ------------ HTTP请求
  • ---------------- Beanshell预处理器
  • ---------------- HTTP标头管理器
  • ----------------响应断言
  • ---------------- Beanshell断言
  • -------- HTTP请求
    1. 如何找到此错误的根本原因? -“一个或多个测试线程将不存在;请参阅日志文件。”
    2. 我该如何解决?

    2 个答案:

    答案 0 :(得分:0)

    您违反了至少两项JMeter最佳做法,以达到机智:

    1. 您正在使用JMeter GUI运行负载测试,您should execute it in non-GUI mode
    2. 您正在使用Beanshell测试元素,应改用JSR223 Test Elements and Groovy语言

    根据测试计划的性质,请求和响应的大小以及线程数,您可能还需要对JMeter进行更精细的调整(即增加JVM堆大小,使用GC参数等)。签出{{3 }}文章,详细介绍了如何充分利用JMeter实例。

    如果毕竟您仍然遇到问题,则可能表明该机器缺少资源(您可以使用9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure进行检查),如果是这种情况,则必须进行{{3} }。

    答案 1 :(得分:0)

    很可能您没有在“高级”标签的“ HTTP请求默认值”中进行设置:

    • 连接超时:合理值500
    • 响应超时:合理值30000

    因此某些http请求挂起,线程没有退出