You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JMeter/BlazeMeter中从聚合报告排除连接/套接字超时请求

彻底排除JMeter/BlazeMeter中超时请求统计的方法

核心处理逻辑

要让连接超时(ConnectTimeoutException)或套接字超时(SocketTimeoutException)的请求完全不进入监听器统计,不能仅标记为成功,而是要让JMeter直接忽略该样本:

  • 调用sampleResult.setIgnore(true)方法,这会让所有监听器跳过对该样本的统计计算。
  • 可以通过两种方式判断超时:检查响应码字符串,或直接判断异常类型(后者更精准)。

示例代码(JSR223 PostProcessor中使用)

// 方式1:通过响应码判断
if (sampleResult.getResponseCode().contains("ConnectTimeoutException") 
    || sampleResult.getResponseCode().contains("SocketTimeoutException")) {
    sampleResult.setIgnore(true);
}

// 方式2:直接判断异常类型(推荐)
Throwable throwable = sampleResult.getThrowable();
if (throwable instanceof org.apache.http.conn.ConnectTimeoutException 
    || throwable instanceof java.net.SocketTimeoutException) {
    sampleResult.setIgnore(true);
}

关键注意点

  • 把这段代码放在JSR223 PostProcessor中,确保其作用域覆盖所有需要处理的HTTP请求。
  • 设置setIgnore(true)后,该请求不会出现在聚合报告、摘要报告等任何监听器的统计结果里,BlazeMeter云端报告也不会包含它。
  • 如果需要在日志中标记这类请求但不统计,可以额外添加sampleResult.setSampleLabel("Ignored-Timeout: " + sampleResult.getSampleLabel()),不影响忽略统计的效果。

内容的提问来源于stack exchange,提问作者yazhdevi subramani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 07:35:03