绝代码农 发表于 2021-7-7 15:28:45

34.TCP取样器

  阅读文本大概需要3分钟。
  1、TCP取样器的作用
  TCP取样器作用就是通过TCP/IP协议来连接服务器,然后发送数据和接收数据。
  2、TCP取样器详解

  TCPClient classname:TCP报文格式类名,默认前缀org.apache.jmeter.protocol.tcp.sampler.
  ① TCPClientImpl:普通文本,默认传输格式。一般用来发json串;
  ② BinaryTCPClientImpl:十六进制报文,指定包结束符;
  ③ LengthPrefixedBinaryTCPClientImpl:继承BinaryTCPClientImpl类,并在BinaryTCPClientlmpl前面增加两个字节数据长度。可在jmeter.properties配置文件中tcp.binarylength.prefix.length设置;
  服务器名或IP:服务器主机名称或者服务器ip地址
  端口号:服务器端口号
  连接:与服务器套接字应用连接的超时时间(单位毫秒,0 表示禁用超时)
  响应:服务器响应的超时间(单位毫秒,0 表示禁用超时),这个值的设置跟行尾(EOL)字节值有关系,如果行尾(EOL)字节值中的值设置不正确,会导致JMeter一直在等待无法结束,但是如果指定了Response Timeout这个值的话,在到达这个值的时候就关闭连接。
  Re-use connection:如果勾选的话,就代表在一个线程组里,复用一个连接,在要求TCP长连接的时候需要用到这个。
  关闭连接:如果勾选的话,一个取样器就只会用一个TCP连接,也就是发送完报文以后,就关闭TCP连接
  设置无延迟:参考java.net.Socket.setTcpNoDelay(),如果选中,它将会禁用Nagle's算法(利用缓存功能),反之
  SO_LINGER:该配置项用于控制在关闭连接之前是否要等待缓冲区中的数据发送完成。如果SO_LINGER选项指定了值,则在得到关闭连接的请求之后还会等待指定的秒数以完成缓冲区中数据的发送,在指定的SO_LINGER秒数完成后,关闭连接。因此,如果把该选项设置成0,那么所有连接在收到关闭连接的时候都会立即关闭,避免产生很多处于TIME_WAIT状态 (等待状态)的套接字,单位为秒。
  行尾(EOL)字节值:判断行结束的byte值,如果设置值在-128到127之外将会跳过EOL检测。可以在jmeter.properties文件中增加属性eolByte进行设置,如果在TCP Sampler Config(TCP 取样器配置)中也设置这个属性,那么TCP Sampler Config中设置的将会奏效。比如服务器端返回的字符串都是以回车符结尾,那么可以将该选项设置成10
  要发送的文本:需要发送的数据
  用户名、密码:TCP取样器没有使用到这两个参数


  
文档来源:51CTO技术博客https://blog.51cto.com/u_13538361/3002288
页: [1]
查看完整版本: 34.TCP取样器