zoukankan      html  css  js  c++  java
  • Jmeter之TCP取样器

    1.在线程组中添加“TCP取样器”

    2.填写数据

    以下截图是必须配置的

    TCPClient classname:  填写TCP报文格式(有三类),默认前缀:org.apache.jmeter.protocol.tcp.sampler.

    • TCPClientImpl:普通文本传输,可设置他的编码格式(eg:json串)
    • BinaryTCPClientImpl:十六进制报文(常用)
    • LengthPrefixedBinaryTCPClientImpl:继承BinaryTCPClientImpl类,并在BinaryTCPClientlmpl前面增加两个字节数据长度。

    Target Server:填写正确的IP,和端口

    Timeouts:最大连接时间和响应时间,一旦超时就被当做失败。(一般不设置)

    Re-use connectionTCP长连接,一个线程里,复用这个连接(常用)

     

    End of line(EOL) byte value响应数据的最后2位,转换为10进制的值。取值区间[-128,127]

    • 因为TCP长连接是不会断开的,我们需要从响应数据来判断并告知TCP取样器这次请求已经获得了数据/响应成功,然后运行其他线程
    • 例如:响应数据为“F000”,最后2位是“00”,所以这里填入“0”

    • 如果不知道返回数据,可以调测。因为没有设置EOL所以在运行后,自行点击stop。然后在“查看结果树”的响应数据中查看数据。

    •  

      再如果,这个长连接就是没有数据返回,那就磨着开发给个返回值,毕竟我就是这样做的~哈哈。以后发现其他解决方法更新这里

    要发送的文本:这个文本需要开发提供

    • 坑1:十六进制数之间不能有空格(报错:Response message: java.lang.IllegalArgumentException: Hex-encoded binary string contains an uneven no. of digits)
    • 坑2:不能有换行(报错:Response message: java.lang.IllegalArgumentException: Hex-encoded binary string contains an uneven no. of digits)

    3.jmeter属性配置文件修改

    依据当前采用的报文格式,修改

    #tcp.handler=TCPClientImpl
    #tcp.handler=BinaryTCPClientImpl
    #tcp.handler=LengthPrefixedBinaryTCPClientImpl

     

     4.单线程测试通过后,设置并发量,启动查看测试结果

     

  • 相关阅读:
    rails中输出excel
    Rails IDE 有很多选择,但是具体到ubuntu 64bit 选择的余地就不多了,这里选择Aptana Studio 3 Beta
    linux中查看系统资源占用情况的命令
    GIT GUI使用
    linux下的c 环境配置vim
    oracle11 忘记密码
    Aptana_Studio 介绍和应用
    linux root命令忘记以及挂载U盘
    程序员创业生死一线 最后归宿在哪里?
    如何使用Log4j? .
  • 原文地址:https://www.cnblogs.com/bf-blackfish/p/10579867.html
Copyright © 2011-2022 走看看