【问题标题】:Getting error - "java.io.IOException: Premature EOF" in JMeter出现错误 - JMeter 中的“java.io.IOException: Premature EOF”
【发布时间】:2021-11-30 07:31:18
【问题描述】:

我正在使用 JMeter 5.4.1,其中我使用 HTTP 请求进行 Post API 调用。我收到错误消息 - “java.io.IOException: Premature EOF”。

Keep-Alive 被选中。超时也设置为 60 秒。我正在使用单线程。

解决这个问题的方法是什么?

java.io.IOException: Premature EOF
at sun.net.www.http.ChunkedInputStream.readAheadBlocking(Unknown Source)
at sun.net.www.http.ChunkedInputStream.readAhead(Unknown Source)
at sun.net.www.http.ChunkedInputStream.read(Unknown Source)
at java.io.FilterInputStream.read(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Unknown Source)
at org.apache.commons.io.input.ProxyInputStream.read(ProxyInputStream.java:102)
at java.io.BufferedInputStream.read1(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at java.io.FilterInputStream.read(Unknown Source)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.readResponse(HTTPSamplerBase.java:1936)
at org.apache.jmeter.protocol.http.sampler.HTTPAbstractImpl.readResponse(HTTPAbstractImpl.java:530)
at org.apache.jmeter.protocol.http.sampler.HTTPJavaImpl.readResponse(HTTPJavaImpl.java:296)
at org.apache.jmeter.protocol.http.sampler.HTTPJavaImpl.sample(HTTPJavaImpl.java:567)
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)

【问题讨论】:

  • 从服务器返回的响应大小是多少?您能否在 Postman 等任何其他应用中复制相同的调用并获得响应?

标签: jmeter jmeter-5.0 jmeter-4.0


【解决方案1】:

很难说出了什么问题,查看错误似乎您得到的响应不完整。

如果您可以使用浏览器或其他 API 测试工具(如 SoapUI)成功执行此 API 调用 - 请确保 JMeter 通过 HTTP Header Manager 发送相同的 HTTP Headers

您也可以通过在 log4j2.xml 文件中添加下一行来increase JMeter debug logging verbosity

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

需要重新启动 JMeter 才能获取更改,完成后您可以检查 jmeter.log file 是否有任何可疑条目

最后但并非最不重要的一点是尝试切换到HttpClient4 实现,该设置位于HTTP Request 采样器的“高级”选项卡中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多