首页 > 解决方案 > NoHttpResponseException 但未设置响应超时

问题描述

我们收到了一个长时间运行的请求NoHttpResponseException,但我们没有设置响应超时,所以它应该无限期等待,对吧?我还检查了user.propertieshttpclient.parameters文件,我也没有看到那里设置任何值。

2021-02-12 12:20:12,278 错误 oajaJ 我们的自定义 JSR 223 断言:预期
JSON 响应:org.apache.http.NoHttpResponseException:our.server.com:443 未能在 org.apache.http.impl 的 org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:141) 处响应.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) 在 org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273) 在 org.apache.http 的 org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:157)。 protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125) 在 org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272) 在 org.apache。http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186) 在 org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) 在 org.apache.http.impl.execchain.RedirectExec。在 org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83) 的 org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) 处执行(RedirectExec.java:110) org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:930) org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:641) org.apache .jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:66) 在 org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1281) 在 org.apache.jmeter.protocol .http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1270) 在 org.apache。jmeter.threads.JMeterThread.doSampling(JMeterThread.java:630) 在 org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:558) 在 org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java: 489)在 org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256)在 java.lang.Thread.run(未知来源)

jmeter HTTP 请求截图

jmeter http请求默认截图

JMeter 5.3 版

标签: jmeterjmeter-5.0

解决方案


它应该无限期地等待,对吧?

不是真的,如果没有设置它适用于底层平台默认值。

对于 Windows,建立连接需要 72 秒,响应需要 120 秒,但可以控制,请参阅TCP/IP 配置参数

所以你不能禁用超时,但你可以将它设置为一个非常高的值,比如2147483647

如果您想从一个地方将设置应用于所有 HTTP 请求采样器 - 在HTTP 请求默认值下设置响应超时


推荐阅读