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

JMeter登录请求报NoHttpResponseException异常求助排查

JMeter登录请求运行一段时间后抛出NoHttpResponseException异常

异常信息

org.apache.http.NoHttpResponseException: example.com:443 failed to respond
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:141)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:157)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:939)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:650)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:66)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1301)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1290)
at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:651)
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:570)
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:501)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:268)
at java.base/java.lang.Thread.run(Thread.java:833)

请求详情

请求内容

POST https://example.com/auth/token
POST data:
{"scope":"application","grant_type":"sso_token"}
[no cookies]

请求详情截图

请求头

Connection: keep-alive
authority: example.com
accept: application/json, text/plain, */*
accept-language: en-US,en;q=0.9
authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ii1LSTNROW5OUjdiUm9meG1lWm9YcWJIWkdldyJ9.eyJhdWQiOiIwZGE2MGM0ZDA2LTQ1ZDItYmYxNy1hYTA4ZTE1NDgiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYmQ1OGI3MDgWY0Ni00ZGViLJkNzgtYmI0ZWY4ODU5ZTZhL3YyLjAiLCJpYXQiOjE2NzYyNQ2NzYsIm5iZiI6MTY3NjI3NDY3NiwiZXhwIjoxNjc2Mjc4NTc2LCJhaW8iOiJBVFFBeS84VEFBQUFzSHA3eVZTU1M4bHJvSlUwZm04ZUwwempXSU5ScGppS1hPd3ZPRWN2Q0NhRGpwRE1udVBlVGxnRlFpSGk3c1pUIiwiZW1haWwiOiJBZGVsZVZATTM2NXg4MzUwNTY1MC5Pbk1pY3Jvc29mdC5jb20iLCJuYW1lIjoiQWRlbGUgVmFuY2UiLCJvaWQiOiI1NWQzNjRjMS02MzZlLTRkOTktOTM4ZS1iMTQ0MjdkYTZhZmIiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJBZGVsZVZATTM2NXg4MzUwNTY1MC5Pbk1pY3Jvc29mdC5jb20iLCJyaCI6IjAuQVU0QUNMZFl2VWJ2NjAyOWVMdE8tSVdlYWswTXBnMEdvTkpGdnhlcUNPRldRQWlEQUxjLiIsInN1YiI6InZjQU9nd0xOTWRZV2JZYWFjU3NJWEFPQ0RZYmpyanRHT1ZuUml3Umk5M2ciLCJ0aWQiOiJiZDU4YjcwOC1lZjQ2LTRkZWItYmQ3OC1iYjRlZjg4NTllNmEiLCJ1cG4iOiJBZGVsZVZATTM2NXg4MzUwNTY1MC5Pbk1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHZll1cXJPWVYwQ2xaUzZnMkRFdUFBIiwidmVyIjoiMi4wIn0.V-h8D1TGj9vb2jVwBFGtm3jBH54lfGMOD_xHWYbfornN5ml31K6FnIumMU5i2oBOUcMpDOgM-2_XCbnWPou5iCc_I703kd_zwW6CAgUDBVJtfSmU6Go--hohzMWZuFG7ftKIX0_ftDmRzqJWOw-bwKy5E4NdXImibeKgQsx_N4QFLMx6X9SVDYhf5mXnabkgpdgEn8m2BtM__mYlCJgw7ci6WRuEg6CzocsrKJrNsiUF74vPLkp-tDkbXZFY-1PvNAzAPQEVUZ2kzIXKDf8_O2vd0ozycaz-MVKw6nxOZnYNzXVaTBvkw9sIFMWbW4biZw7GxgrIIC1ux4KvpXuwA
cache-control: no-cache
content-type: application/json
origin: https://example.com_2.net
User-Agent: Apache-HttpClient/4.5.13 (Java/18.0.2.1)

请求头截图

测试场景说明

测试脚本包含登录请求,运行一段时间后停止工作并抛出上述异常。测试流程为:在事务控制器中从一个系统获取Bearer令牌,再用该令牌在另一个服务中完成授权。Bearer令牌来自之前可正常运行的请求,但归属不同授权系统。将请求信息复制到Postman可正常执行,已尝试切换HTTP采样器客户端实现、重装Java,问题仍未解决。

可能的解决方案

  • 禁用HTTP Keep-Alive:在HTTP请求采样器的「高级」标签中,将Connection头设置为close,或在jmeter.properties中添加httpclient4.reuseconnections=false,避免复用已被服务器关闭的连接。
  • 设置超时参数:在HTTP请求采样器中配置合理的连接超时和响应超时时间,避免因连接长时间无响应触发异常。
  • 调整连接池配置:修改jmeter.properties中的连接池参数,确保闲置连接自动校验有效性:
    httpclient4.max_total=200
    httpclient4.max_per_route=20
    httpclient4.validate_after_inactivity=5000
    
  • 添加重试机制:使用JMeter的Retry Controller,或在HTTP请求采样器的「高级」标签中启用重试,针对NoHttpResponseException执行重试逻辑。
  • 排查服务器限制:高并发场景下服务器可能主动关闭空闲连接,需确认服务器的连接超时、并发连接数限制等配置。
  • 升级JMeter版本:若使用旧版JMeter,升级至最新稳定版,可能修复HTTP客户端相关的已知bug。

内容的提问来源于stack exchange,提问作者Sergey Konotop

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 14:06:56