接收错误-“org.apache.http.ConnectionClosedException:块编码消息正文过早结束:在JMeter中需要关闭块”

wribegjk  于 2023-05-29  发布在  Apache
关注(0)|答案(2)|浏览(989)

我使用的是JMeter 5.4.1,其中我使用HTTP请求进行Post API调用。我得到错误-“org.apache.http.ConnectionClosedException:块编码消息正文过早结束:需要关闭块”。
已选中Keep-Alive。超时也设置为60秒。

**我得到这个错误后,几乎30-45分钟,当线程启动。**我使用单线程。

有什么办法可以解决这个问题?

org.apache.http.ConnectionClosedException: Premature end of chunk coded message body: closing chunk expected
at org.apache.http.impl.io.ChunkedInputStream.getChunkSize(ChunkedInputStream.java:263)
at org.apache.http.impl.io.ChunkedInputStream.nextChunk(ChunkedInputStream.java:222)
at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:183)
at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:135)
at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:148)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.readResponse(HTTPSamplerBase.java:1936)
at org.apache.jmeter.protocol.http.sampler.HTTPAbstractImpl.readResponse(HTTPAbstractImpl.java:476)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:673)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:66)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1296)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1285)
at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:638)
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:558)
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:489)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256)
at java.lang.Thread.run(Unknown Source)
mspsb9vt

mspsb9vt1#

该错误指示您的服务器使用chunked传输编码,并且不提供last-chunk
最有可能的是,你得到了一个不完整的响应,因此JMeter报告了这个错误。
我的期望是,你的服务器超载,因此它不能正确地响应JMeter的请求,所以没有什么你“得到RAID”的JMeter的Angular 来看,这个问题需要在服务器端修复。
1.检查服务器日志
1.确保服务器在CPU、RAM等方面有足够的运行空间,可以使用JMeter PerfMon Plugin来完成
1.通过将下一行添加到 log4j2.xml 文件中,为JMeter的HTTP组件启用调试日志记录:

<Logger name="org.apache.http" level="debug" />

这样你就可以在jmeter.log文件中看到完整的请求/响应细节,并且它应该允许你找到问题的根源。

nc1teljy

nc1teljy2#

在Header下添加Content-Type作为application/json解决了我的问题。请看下图
Header Setting

相关问题