JMeter TCP采样器错误地报告500

JMeter TCP采样器错误地报告500,tcp,smtp,jmeter,Tcp,Smtp,Jmeter,我正在使用JMeter加载测试我们的SMTP服务器,使用TCP采样器(BinaryTCPClientImpl类)启动HELOs,等待30秒,然后退出 SMTP服务器接受HELO并相应地响应,JMeter记录正确的响应,但是它似乎没有找到响应的时间,而是点击响应超时,并显示请求失败500次 JMeter日志中显示: ERROR - jmeter.protocol.tcp.sampler.TCPSampler: org.apache.jmeter.protocol.tcp.sampler.

我正在使用JMeter加载测试我们的SMTP服务器,使用TCP采样器(BinaryTCPClientImpl类)启动HELOs,等待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字节。

它应该如何找到响应的结尾?我通过在jmeter.properties中设置tcp.eolByte(设置为10)猜到了。下面回复了您的答案。SMTP协议,因此最后2个字节应该是/r/n(0d0a/1310)。我把eolbyte设置为10,但仍然不起作用。啊,我明白你的意思了,我以为你输入了EOM字节,意思是tcp.eolbyte!将tcp.BinaryTCPClient.eomByte设置为10可以使一切正常工作。干杯如何使用tcp采样器为每个通道连接发送几个请求?我应该重写TCP采样器吗?