【问题标题】:JMeter error when generating dashboard at end of test在测试结束时生成仪表板时出现 JMeter 错误
【发布时间】:2019-09-27 21:59:04
【问题描述】:

在过去的几周里,我一直在使用 JMeters 在测试结束时使用以下命令自动生成仪表板:

./jmeter -n -t <test JMX file> -l <test log file> -e -o <Path to output folder>

但是,大约 50% 的情况下,终端会在测试计划结束前 1 秒完全冻结,而不会生成仪表板。所以我想从我的 log.jtl 文件中手动构建破折号报告:

./jmeter -g &lt;log file&gt; -o &lt;Path to output folder&gt;

但是当我在终端运行这个命令时,我得到了错误:

An error occurred: Error while processing samples:Mismatch between expected number of columns:16 and columns in CSV file:15, check your jmeter.save.saveservice.* configuration

我在 user.properties 中唯一拥有的是(直接取自 http://jmeter.apache.org/usermanual/generating-dashboard.html):

jmeter.save.saveservice.bytes = true
jmeter.save.saveservice.label = true
jmeter.save.saveservice.latency = true
jmeter.save.saveservice.response_code = true
jmeter.save.saveservice.response_message = true
jmeter.save.saveservice.successful = true
jmeter.save.saveservice.thread_counts = true
jmeter.save.saveservice.thread_name = true
jmeter.save.saveservice.time = true
jmeter.save.saveservice.connect_time = true 
jmeter.save.saveservice.timestamp_format = ms
jmeter.save.saveservice.timestamp_format = yyyy/MM/dd HH:mm:ss

运行./jmeter -g &lt;log file&gt; -o &lt;Path to output folder&gt; 时添加和不添加这些 user.properties 仍然会导致列出的相同错误。

请帮忙!

更新:当我从 nongui 模式运行测试并完成(“整理...”打印到终端)而不是冻结时,我的仪表板生成 ./jmeter -g &lt;log file&gt; -o &lt;Path to output folder&gt; 工作正常。因此,冻结问题似乎在于测试构造。测试在一天中的某个时间结束,比如下午 4:00,该时间被添加到线程组调度程序中的 jmeter 测试中。有人对我如何解决这个问题有任何建议吗?有没有人遇到过类似的问题?

【问题讨论】:

  • 你能检查jmeter.properties文件中的属性吗?
  • @NaveenKumarNamachivayam 检查 jmeter.properties 是为了什么?
  • 检查 jmeter.properties 中的jmeter.save.saveservice.* 属性是否正确配置。
  • @NaveenKumarNamachivayam 它当前配置为默认值,其中包括来自 user.properties 的上述行
  • @NaveenKumarNamachivayam 有什么我应该补充的吗?

标签: jmeter


【解决方案1】:

我知道这有点晚了,但我仍然会回答这个问题,以防其他人遇到和我一样的问题。

在我的例子中,在确保 jmeter.properties 和 user.properties 相同后,我打开了日志文件。你知道,.jtl 一个,并删除了被剪掉的最后一行。 然后,只需执行命令行jmeter -g &lt;log file&gt; -o &lt;Path to output folder&gt; 就可以了。

当执行没有正确结束时会发生这种情况。

【讨论】:

    【解决方案2】:

    根据错误消息,您很可能在 lod 测试和生成之间没有使用相同的 jmeter.properties + user.properties。

    确保你这样做。

    其次,关于第一个问题,请检查您没有磁盘空间问题或者您没有遇到 OutOfMemoryError,如果问题仍然存在,请报告错误。

    【讨论】:

    • 负载生成的属性会在reportgenerator.properties 中吗?在该文件中,我没有看到任何标题为 save.saveservice 的属性,这是我添加到 user.properties 和 jmeter.properties 的唯一属性。
    • 查看我的更新。看起来仪表板生成正在工作,但当测试在最后一秒冻结时却没有。我认为这与我如何在一天中的确切时间从调度程序结束测试有关。非常感谢您的建议!
    【解决方案3】:

    确保 csv 中以逗号分隔的每一行数据都与列号匹配。因此,我得到了同样的例外,例如......

    timeStamp,elapsed,label,responseCode,responseMessage,Connect 1569471061857,3918,200,OK,压力,文字
    1569471061857,3918,200,OK,压力,文字
    1569471061857,3918,200,OK,压力,文字
    1569471061857,3918,200,OK,St

    在这种情况下,标题和大多数数据都有 6 列,但最后一行不完整(因为我提前中断了执行)最后一行以 5 列而不是 6 列结束,这导致了异常。

    祝你好运。

    【讨论】:

      猜你喜欢
      • 2021-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-16
      • 1970-01-01
      • 1970-01-01
      • 2019-03-11
      • 1970-01-01
      相关资源
      最近更新 更多