尽管请求成功,但JMeter错误率仍然过高

时间:2018-09-17 17:49:29

标签: jmeter performance-testing

更新-现在删除“聚合”报告并重新运行测试的错误率为0。为什么需要这样做?

我正在使用JMeter 4.0通过发送带有JSON正文的POST请求来使用具有20个线程组的REST Web服务。所有20个请求均会成功并给出正确的响应(200个带有正确的JSON正文)。为什么错误率超过99%? (请参见下图)。另外,即使“查看结果树”选项卡显示20个HTTP请求(每个错误计数为0),报告中的样本为何也没有10063。

enter image description here

2 个答案:

答案 0 :(得分:0)

查看结果树,因为很少有版本仅保留最后500个SampleResult,并且每隔几秒钟刷新一次。

因此,视图结果树中的样本数不是总数。

此外,永远不要在GUI模式下运行负载测试,因为它会对Jmeter注入的性能产生负面影响。

有关最佳做法,请参见此:

答案 1 :(得分:0)

如果运行JMeter测试,该测试假定20 HTTP请求并在侦听器中看到> 10 000,则很可能是在侦听器中打开了错误的.jtl结果文件。

  1. 再次检查“文件名”输入字段为空

    enter image description here

  2. 在运行新测试之前,请确保通过从JMeter的主菜单中选择Run -> Clear All(或单击Control + E)来清除“内存中”结果

    JMeter Clear All


请注意,using Listeners is a some form of a performance anti-pattern并没有增加任何价值,而是消耗了宝贵的系统资源,这些资源可以用于其他用途,也可以原封不动地保存树。所以:

  1. 从测试计划中删除所有听众
  2. Run your test in command-line non-GUI mode喜欢:

    jmeter -n -t test.jmx -l result.jtl
    
  3. 测试完成后,请打开JMeter GUI并使用您选择的侦听器检查result.jtl文件(您可以使用上述“文件名”选项卡加载它)
  4. 或者从result.jtl文件中生成一个HTML Reporting Dashboard-它包含概述测试结果的统计信息,表格和图表。