jmeter针对websocket协议的压测
之前一直没有接触过websocket协议,所以一直对websocket的压测存在疑惑,在网上参考文章并不断尝试之后,终于有所得;第一次用jmeter的websoket插件,用的ws非加密协议,请求都能得到正常响应,但由于公司系统升级使用了wss加密协议,再次用该插件后发现报如下错误:
- Opening new connection
- Using response message pattern ""
- Using disconnect pattern ""
- Waiting for the server connection for 5000 MILLISECONDS
- Cannot connect to the remote server
于是在国外网站上找到了全英文答案,该jar包2014年起就不更新了。最后重新下载了新的websocketjar包,下载地址:https://download.csdn.net/download/qq_41954078/10636378 该包下载完成后直接放在jmeter的lib/ext目录下,重启jmeter即可使用;
在使用之前我们要知道我们的请求的地址与参数是什么,所以
第一步:抓包;在chrome浏览器中按F12可以看到相关数据如图所示;
Frames下面中的数据就是请求与响应的数据,其中绿色箭头代表请求的数据,红色箭头表示响应的数据;
第二步:新建jmeter测试计划;
a、第一个取样器如图:
1、代表协议类型,ws对应http,wss对应https;
2、请求服务器名称,从抓包结果可以获得;
3、请求端口号,从抓包结果可以获得;
4、请求路径,从抓包结果可以获得;
5、连接5S后未连上超时,可以自己设置;
6、请求数据,从抓包结果可以获得;;
7、响应6S后未成功超时,可以自己设置;
b:第二个取样器如图:在第一个取样器已经建立连接的情况下,第二个取样器直接选择use existing connection即可继续发送请求;
参考文章:
https://blog.csdn.net/wx19900503/article/details/79221264
https://blog.csdn.net/heart_1014/article/details/53606337 保持心跳
websocket压测思路:
1、建立websocket链接 ;
2、在链接下保持心跳,使用jmeter循环控制器发送心跳保持链接;
3、参数化请求参数;如并发500个链接;
jmeter针对websocket协议的压测的更多相关文章
- 阿里云PTS分享-用性能测试工具JMeter实现基于供应链业务上对于WebSocket 协议的压测
性能测试PTS(Performance Testing Service)是面向所有技术相关背景人员的云化性能测试工具,孵化自阿里内部平台.有别于传统工具的繁复,PTS以互联网化的交互,面向分布式和云化 ...
- Jmeter实现WebSocket协议的接口和性能测试方法
WebSocket protocol 是HTML5一种新的协议.它实现了浏览器与服务器全双工通信(full-duplex). 浏览器和服务器只需要要做一个握手的动作,然后,浏览器和服务器之间就形成了一 ...
- Jmeter中Websocket协议支持包的使用
Jmeter中Websocket协议支持包的使用(转) 参考的来源是国外一篇文章,已经整理成pdf格式(http://yunpan.cn/cFzwiyeQDKdh3 (提取码:9bcf)) 转自:ht ...
- Jmeter中Websocket协议支持包的使用(转)
转自:http://blog.csdn.net/typing_yes_no/article/details/49512167 参考的来源是国外一篇文章,已经整理成pdf格式(http://yunpan ...
- 使用jmeter进行websocket协议压测
第一步:添加websocket sampler组件 可以使用plugins manager进行添加,首先下载plugins manager组件: 下载路径: https://jmeter-plugi ...
- jmeter 插件安装之阶梯式压测(五)
一.Jmeter插件安装 jmeter-plugins-manager-1.4.jar 下载地址:https://jmeter-plugins.org/install/Install/ 下载之后将插件 ...
- Jmeter安装与使用(压测)
一.介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静态和动态资源的性能,例如:静态文件,Java Se ...
- JMeter在linux上分布式压测步骤(二)
哈喽,我又来了~ 前提:三台linux虚拟机,一台作为master,另外两台作为slave. 一.server端 1.修改1099端口,client和server通信的端口,可以不修改,默认就是109 ...
- Jmeter(十三)阶梯式压测
阶梯式压测,就是对系统的压力呈现阶梯性增加的过程,每个阶段压力值都要增加一个数量值,最终达到一个预期值.然后保持该压力值,持续运行一段时间. Jmeter中有个插件可以实现这个场景,这个插件就是:Co ...
随机推荐
- tcp & 长连接 短连接
参考文档: tcp协议 http://blog.chinaunix.net/uid-26833883-id-3627644.html 长连接和短连接 http://blog.csdn.net/free ...
- prometheus自定义监控指标——实战
上一节介绍了pushgateway的作用.优劣以及部署使用,本机通过几个实例来重温一下自定义监控指标是如何使用的. 一.监控容器启动时间(shell) 使用prometheus已经两个月了,但从未找到 ...
- SourceTree安装
SourceTree安装教程 作为程序员,不可避免的要在github上查询代码,而在企业项目中,为了使得项目好管理需要使用项目管理客户端,所以接下来详细讲解一下基于git的sourceTree在win ...
- Python【每日一问】33
问: [基础题1]:设计一个重量转换器,输入以“g”为单位的数字后返回换算成“kg”的结果 [基础题2]:设计一个求直角三角形斜边长的函数,比如直角边长分别为3和4,输出结果为:The right t ...
- eclipse中正确创建Django项目
本教程只说明eclipse中django项目的创建,不涉及django相关开发内容: 1."File" -> "New" -> "Othe ...
- Matlab匿名函数
Matlab可以通过function去定义一些功能函数,这使得代码变得简洁和高效.但是如果遇到的是一些简单的数学公式组成的函数表达式,继续用function去定义函数,似乎显得有些冗杂和多余.这时候, ...
- influx db
1.查看数据库中的tag keys: 如果需要查看field的直接改 > show tag keys on test; name: garage_pc_overviewtagKey--- ...
- LeetCode dp专题
1. 动态规划的适用场景 动态规划常常适用于有重叠子问题和最优子结构性质的问题,动态规划方法所耗时间往往远少于朴素解法. 2. 动态规划的基本思想 动态规划背后的基本思想非常简单.大致上,若要解一个给 ...
- 算法:array1和array2地址值相同,都指向堆空间的唯一的一个数组实体(不是数组的复制)
package com.atguigu; public class fuzhi { public static void main(String[] args) { int[] array1=new ...
- Centos Docker 安装 Apache Guacamole
经常在ubuntu上折腾,偶尔在centos来也来玩一把吧 1.安装DOCKER cd /etc/yum.repos.d wget https://download.docker.com/linux/ ...