JMeter TCP Sampler неправильно сообщает 500
Я использую JMeter для нагрузочного тестирования нашего SMTP-сервера, используя TCP Sampler (класс BinaryTCPClientImpl) для запуска 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 каким-то образом не смог определить конец ответа?
Любые мысли о том, как решить или отладить это, будут высоко оценены.