JMeter每小时记录结果

时间:2017-10-01 05:31:38

标签: charts jmeter bar-chart jmeter-plugins jmeter-3.2

我有一个JMeter项目,其中包含多个GETPOST请求和断言。我使用Aggregate resultsView results tre个侦听器,但这些都不能按小时存储结果。我尝试了JMeterPlugins-StandardJMeterPlugins-Extras个软件包以及jp@gc - Graphs Generator个侦听器,但所有这些都使用聚合数据而不是每小时数据。所以我想每小时获得一些成功和失败的请求/断言,也许条形图最适合这个目的。

4 个答案:

答案 0 :(得分:1)

您可能希望使用包含--start-offset--end-offset参数的Filter Results Tool,您可以" cut"你的结果文件变成"有趣的"根据您的要求制作并绘制它们。

您可以使用JMeter Plugins Manager

安装过滤结果工具

JMeter Filter Results Tool

另请注意,根据JMeter Best Practices,您应该

  
      
  • 使用尽可能少的听众;如果使用上面的-l标志,则可以删除或禁用它们。
  •   
  • 不要使用" 查看结果树"或"查看表格中的结果"负载测试期间的监听器,仅在脚本编写阶段使用它们来调试脚本。
  •   

您可以从.jtl结果文件中获取所需的任何信息,您可以通过-l command-line argument指定测试结果位置

答案 1 :(得分:1)

我将建议一个非传统的设计级解决方案:用小时(或日期和小时)动态命名您的采样器,这样每个小时名称都会改变,因此它们将出现在不同的类别中,即:

enter image description here

此名称的代码为:

video

此类采样器将在聚合报告中以下列方式显示(此处我使用分钟/秒进行模拟,但相同的情况会发生在天/小时,只是在更大范围内):

enter image description here

这种方法的利弊:

  • 简单来说,您可以在测试运行时按小时,分钟或任何其他时间片汇总任何内容,而不是在执行后进行分析。

  • 不依赖于侦听器,几乎可以与任何侦听器或可视化器一起使用

  • 如果您还想拥有整体统计数据,则需要总结每个子类别。所以它改变了数据,但它仍然可以相对容易地添加回原始数据。

  • 在每个采样器之前计算${__time(dd:hh,)} the rest of sampler name 不会从性能角度完全忽略,但我认为它不会为脚本增加可见的开销。

  • 您可以通过在执行后正确聚合JTL或CSV(无论您使用哪个)来获取相同的数据,因此它不会为您提供使用标准方法无法实现的任何内容

  • 脚本需要改变以实现此目的。如果您有100个采样器,那将需要一段时间。如果你想改回来......

答案 2 :(得分:1)

要获得每小时的汇总结果,请添加到测试计划Generate Summary Results

  

生成到目前为止测试运行的摘要到日志文件和/或标准输出

根据需要更新jmeter.properties中的间隔,1小时3600秒:

 summariser.interval=3600 

您将获得每小时请求的摘要。

答案 3 :(得分:1)

您可以尝试使用Jmeter backend Listener。它与石墨和Influxdb集成。将结果存储在这些时间序列数据库中后,您可以在Grafana仪表板中显示结果。 Grafana有自己的过滤方式,每小时,每月,每天等显示结果。