JMeter TCP采样器错误报告500

我正在使用JMeter使用TCP

Sampler(BinaryTCPClientImpl类)来加载测试我们的SMTP服务器,以触发HELO,等待30秒然后退出。

SMTP服务器接受HELO并作出相应的响应,JMeter记录了正确的响应,但是它似乎找不到响应,而是命中响应超时,并显示500个请求失败。

在JMeter日志中显示:

ERROR - jmeter.protocol.tcp.sampler.TCPSampler:      org.apache.jmeter.protocol.tcp.sampler.ReadException:

at org.apache.jmeter.protocol.tcp.sampler.BinaryTCPClientImpl.read(BinaryTCPClientImpl.java:137)

at org.apache.jmeter.protocol.tcp.sampler.TCPSampler.sample(TCPSampler.java:350)

at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:416)

at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:271)

at java.lang.Thread.run(Unknown Source)

Caused by: java.net.SocketTimeoutException: Read timed out

at java.net.SocketInputStream.socketRead0(Native Method)

at java.net.SocketInputStream.read(Unknown Source)

at java.net.SocketInputStream.read(Unknown Source)

at java.net.SocketInputStream.read(Unknown Source)

at org.apache.jmeter.protocol.tcp.sampler.BinaryTCPClientImpl.read(BinaryTCPClientImpl.java:123)

尽管事实上它设法记录了预期的响应!

我猜JMeter在某种程度上未能发现响应的结束?

任何有关如何解决或调试此问题的想法将不胜感激。

回答:

如果您没有定义EOM字节,它将读取到流的末尾。由于流不会结束,因此超时。您必须为所使用的协议正确设置EOM字节。

以上是 JMeter TCP采样器错误报告500 的全部内容, 来源链接: utcz.com/qa/433381.html

回到顶部