文档章节

Jmeter的第一次尝试

pior
 pior
发布于 2017/07/21 16:20
字数 418
阅读 79
收藏 2

计划用Jmeter做下性能测试, 问题我们不是Web应用, 是纯TCP的交互系统, 所以要用Jmeter的TCP通信方式,

问题1, 怎么收发TCP消息.

Jmeter里有个TCP取样器, 用于TCP通信, 但是默认是字符通信, 也就是说收发消息是字符消息. 配置如下图:

但是我们通信是二进制数据, 怎么搞呢?

找到jmeter.properites文件, 将tcp.handler修改为如下:

这个BinaryTCPClientImpl就是一个用于二进制数据处理的工具. 这时就可以写十六进制数据进行发送了.

写一个服务端, 在收到消息后进行响应数据的发送. 但是发送jmeter收到消息以后也不处理, 没有后续操作,

且在jmeter上, 通过给TCP取样器添加 察看结果树 后, 还能看到响应失败, response code:500

问题2, 解决消息结束符问题

这个BinaryTCPClientImpl默认消息接收为消息流结束, 但我们这种交互应用是长链的, 通过消息长度等表示一个消息的结束, 那怎么能等到流结束呢. 于是又找到一个配置项, tcp.BinaryTCPClient.eomByte , 可以配置BinaryTCPClientImpl某个字节时, 做为消息的结束处理.

这样只要服务端回的消息中有0x00, 这个Tcp取样器就认为这个消息结束了.

这样就可以继续下一个TCP取样器的消息发送了,

但是, 这个配置, 只能支持一个字节. 显然不能支持用帧尾进行消息处理.

看来得自定义一个TCPClientImpl才能行.

© 著作权归作者所有

共有 人打赏支持
pior
粉丝 26
博文 151
码字总数 22496
作品 0
济南
高级程序员
私信 提问
JMeter学习-002-JMeter环境配置

本节主要介绍 JMeter 本地环境配置(JMeter 版本为 apache-jmeter-2.12),详细配置如下: 一、JDK配置 默认用户本地已经安装且配置好 JDK。若未配置,进行 JDK 环境安装配置。 二、下载JMe...

拎壶冲冲冲
05/29
0
0
eclipse 配置 jmeter

project : jmeter-NewDriver main: org.apache.jmeter.NewDriver vm arguments: -Djmeter.home=${workspaceloc:jmeter-2.13} lib目录创建api文件夹 拷贝release版本下的所有jar和目录 拷贝r......

今幕明
2015/03/29
0
1
五.jmeter代码学习(2)

使用JMeter做压力测试 1.下载Jmeter 地址:http://jmeter.apache.org/downloadjmeter.cgi 2.启动jmeter 运行bin/jmeter.bat 3.添加线程组 在TestPlan节点上右键,Add-->Threads(Users)-->......

木子木
2014/03/24
0
1
jmeter+ant+jenkins

1,下载jenkins 2,修改jenkins.xml配置文件的端口,防止端口冲突(默认8080) 3,重启Jenkins服务器 4,下载ant 5,配置ant环境变量 6,录制jmeter脚本(脚本的录制可以使用badboy) 7,复制...

gool_hard
06/26
0
0
JMeter 性能测试 Demo

1. Overview Who this article is for If you never use JMeter before and want to get an introduction of how to use it. The following section will show how the process of creating ......

Serein_7
05/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

python中sort和sorted函数小结

L.sort(cmp=None, key=None, reverse=False) sorted(iterable, cmp=None, key=None, reverse=False) 这样看,sorted函数只比sort函数多一个iterable参数,其余没什么不同,iterable是一个迭代......

上官夏洛特
27分钟前
1
0
thinkphp 常用SQL执行语句总结

第一条:Db::tablera('vr_panomas')->where(['delete_time'=>0,'id'=>['in',$pids]])->field(['id'=>'id','post_thumb'=>'thumb','post_title'=>'title','post_tags'=>'tags','post_price'=>......

koothon
37分钟前
1
0
支付宝返回状态resultStatus意思

上一篇集成支付宝的时候,会有一些支付宝返回的resultStatus,具体意思是: 9000 订单支付成功 8000 正在处理中 4000 订单支付失败 6001 用户中途取消 6002 网络连接出错 还有memo,意思就是...

RainOrz
41分钟前
1
0
electron webview 页面加载事件顺序

1.did-start-loading 页面开始加载 2.load-commit 主页面文档加载 3.page-title-updated title 4.dom-ready 主页面 dom 加载完成 5.load-commit frame文档加载 6.did-frame-finish-load fram......

dubox
46分钟前
1
0
cron语法格式

Seconds Minutes Hours DayofMonth Month DayofWeek Year或 Seconds Minutes Hours DayofMonth Month DayofWeek...

JavaSon712
46分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部