JMeter的TCP采样错误地报告500(JMeter TCP Sampler incorrectl

2019-06-24 15:19发布

我使用JMeter的负载测试使用TCP采样(BinaryTCPClientImpl类)火海洛斯,等待30秒,然后在quiting我们的SMTP服务器。

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不知何故未能发现响应的结束?

在如何解决或调试这个任何想法,将不胜感激。

Answer 1:

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



文章来源: JMeter TCP Sampler incorrectly reports 500
标签: tcp smtp jmeter