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

JMeter使用并行控制器压测时出现NoHttpResponseException等报错如何解决?

JMeter并行API测试间歇性连接报错解决方案

客户端配置优化

  • 调整HTTP请求超时参数:在HTTP请求默认值或单个采样器的「高级」标签页,将连接超时设置为20000,响应超时设置为30000,避免短时间未收到服务端响应直接抛出异常。
  • 切换HTTP客户端实现:在HTTP请求的「高级」标签页将默认的HttpClient4切换为Java实现,部分版本的HttpClient对并行SSL连接的处理存在兼容性问题,切换实现可解决大部分偶发SSL异常。
  • 优化连接复用规则:在jmeter.properties文件中修改以下配置:
    • 开启陈旧连接检查:http.connection.stalecheck=true,避免使用服务端已主动关闭的空闲连接
    • 限制连接存活时间:httpclient4.time_to_live=30000,强制连接30秒后自动销毁重建,避免两端连接回收时间不匹配
  • 调整并行控制器规则:若有重试需求可勾选并行控制器的「Generate parent sample」选项,配合后置重试逻辑处理偶发失败的请求。

SSL协议适配优化

  • 统一TLS协议版本:在jmeter.properties文件中修改配置,强制使用服务端兼容的TLS版本发起请求:
    https.default.protocol=TLSv1.2
    https.socket.protocols=TLSv1.2
    
    可根据服务端实际支持的版本调整,避免使用已废弃的TLSv1、TLSv1.1协议。
  • 禁用SSL会话复用:在system.properties文件中添加配置javax.net.ssl.sessionCacheSize=0,避免复用过期的SSL会话导致连接重置。

服务端侧排查方向

  • 检查接入层连接限制:确认Nginx、Tomcat等接入层的最大连接数、每秒请求数阈值是否满足当前负载的并行请求量,避免服务端主动丢弃超额请求。
  • 核对连接超时配置:确认服务端的keepalive超时时间是否过短,若服务端空闲连接回收时间短于JMeter的连接复用时间,就会出现JMeter使用旧连接发请求时服务端已关闭连接的问题。
  • 排查安全策略限制:确认WAF、防火墙是否设置了短时间同IP并行请求的频率限制,触发限制后会主动断开连接导致报错。

快速验证方案

若需要快速定位问题根因,可先在HTTP请求默认值中取消勾选「使用KeepAlive」选项,每次请求都新建连接,若报错消失则可确定是连接复用导致的问题,再针对性调整连接存活时间参数即可。


内容的提问来源于stack exchange,提问作者Kaushal Kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 18:54:01