org.apache.jmeter.protocol.tcp.sampler.ReadException:从服务器读取错误,读取的字节数

时间:2018-04-10 20:48:26

标签: jmeter tcp-ip

具有TCP TCPClientImpl基本类实现的TCP IP连接的Jmeter,具有以下选项:

EOL = 0D  
Re-use Connection = No   
Close Connection = No   
Set Delay = No
SO_LINGER=0
eolByte=0 

当我运行我的测试时,我得到了预期的响应数据,但响应代码是500但有错误:

  

org.apache.jmeter.protocol.tcp.sampler.ReadException:从服务器读取错误,读取字节

1 个答案:

答案 0 :(得分:0)

不了解服务器,请求和响应的详细信息,很难找到合适的TCP Sampler配置。

您可以尝试使用HTTP Raw Request,这可能更容易配置。根据其documentation

  
      
  • 真正完全控制请求数据

  •   
  • 将文件内容直接发送到网络的选项(较大文件的内存使用量较低)

  •   
  • 限制存储在结果中的响应数据的选项(降低内存消耗)

  •   
  • 实际上它是原始TCP采样器,因此您可以尝试测试非HTTP服务器

  •   

可以使用JMeter Plugins Manager

安装HTTP Raw Request采样器

作为最后的手段,您始终可以使用JSR223 SamplerSocket类向服务器发送TCP请求,如:

def client = new Socket('your TCP server IP or Hostname', your TCP server port);
client.setSoTimeout(2000);
client << "Hello ";
client.withStreams { input, output ->
    def reader = input.newReader()
    def response = reader.readLine()
    log.info('Response = ' + response)
}
client.close() 

演示:

JMeter TCP with Groovy