Jmeter tcp 压测实践_jmeter tcp压测 close(2)

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

运行测试任务发现:后台正常收到请求、处理并返回数据,但客户端 socket 连接一直被阻塞,无法进行后续请求及统计性能。

搜索知是因为未配置 「结束符」 所致,只有当客户端在取响应流中读到 「结束符」 才会认为本次业务完成,否则会一直阻塞,直到流被关闭。

Jmeter 配置文件中关于结束符的描述:

   # eolByte = byte value for end of line
  # set this to a value outside the range -128 to +127 to skip eol checking
  #tcp.eolByte=1000

BinaryTCPClient 源码:

注意 BinaryTCPClient 的「结束符」配置是:tcp.BinaryTCPClient.eomByte, 与配置文件列的不一样。

vim /{jmeter}/bin/jmeter.properties
  # 添加结束符
  tcp.BinaryTCPClient.eomByte=-128

注意这个配置是10进制的数,需要根据响应报文转化得到。

再看源码对 「结束符」的判断:

useEolByte 只有在值为 -128 ~ +127 之间时才为 true。

对于结束符的判断,只在流的结尾处判断最后一个字节是否与为 配置的值。如果是就结束,不是就继续循环。

如果自己的业务响应报文结尾不符合 -128 ~ +127 这个范围,那么只能在正常报文尾部再添加一个 符合的字节,我们项目就是这种情况。

一个业务需单socket多次收发数据

我们的一个业务需在 一个socket 建立后,与后台进行3次有依赖顺序的通信才算完成。

方法:使用 Re-use connection 和 close connection 组合。

**·**Re-use connection:表示在一个线程循环内的 tcp sampler 是否可重用同一个socket连接,即共用一个socket。

**·**close connection:表示完成本次请求后是否关闭socket,如果关闭,则下一个 tcp sampler 会重新创建 socket

新建多个 tcp sampler:

**·**每个都勾选Re-use connection, 表示大家都可以共用一个socket

**·**只有最后一个tcp sampler 勾选 close connection,这样上面的 socket 会延续下来继续使用,完成最后交互后,关闭socket,进行下一轮循环业务时,又会创建新的socket

获取完整业务的统计数据

使用 jmeter 事物

将上一步中创建的所有 tcp sampler 全放到同一个事物中,统计时就能获取到该事物(即该业务)的统计数据。

感悟

踩了不少坑,发现还是源码大法好。直接看关键业务代码。了解了其实现逻辑,一些看似疑难杂症的问题也就随之而解了。

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 786229024,里面有各种测试开发资料和技术可以一起交流哦。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取**【保证100%免费】**在这里插入图片描述
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

需要这份系统化的资料的朋友,可以戳这里获取

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值