【问题标题】:JMeter error rate too high despite successful requests尽管请求成功,但 JMeter 错误率太高
【发布时间】:2025-11-29 17:35:01
【问题描述】:

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

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

【问题讨论】:

  • 你运行的是什么版本的 jmeter ?是gui模式吗?
  • GUI 模式下的 JMeter 4.0

标签: jmeter performance-testing


【解决方案1】:

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

所以视图结果树中的样本数不是总数。

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

查看最佳实践:

【讨论】:

    【解决方案2】:

    如果您运行 JMeter 测试,假设有 20 个 HTTP 请求并在侦听器中看到 > 10 000 - 很可能您在侦听器中打开了不正确的 .jtl 结果文件。

    1. 仔细检查“文件名”输入字段是否为空

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


    请注意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 - 它将包含统计信息、表格和图表,概述您的测试结果。

    【讨论】:

      最近更新 更多