jmeter工具测试和压测websocket协议【杭州多测师_王sir】

一、安装JDK配置好环境变量,安装好jmeter

二、下载WebSocketSampler发送请求用的,地址:https://bitbucket.org/pjtr/jmeter-websocket-samplers/downloads/?spm=a2c4g.11186623.2.15.363f211bH03KeI

下载解压后的jar包放到D:\JMeter\apache-jmeter-3.3\lib\ext目录下

三、如果需要在jmeter中安装那么就需要下载jmeter的插件管理器,地址:https://jmeter-plugins.org/install/Install/

同理,下载解压后的jar包放到D:\JMeter\apache-jmeter-3.3\lib\ext目录下

下载完成后,JMeter会自动重启,没有重启就自己启动一下

四、创建websocket请求

五、测试WebSocket协议示例
以http://www.blue-zero.com/WebSocket/网站为例:

六、建立连接,发送websocket请求,进行断言

七、对websocket进行压测
参数配置如下:
并发线程数:10
ramp-up:60
循环次数:永远
duration:90秒
第一种场景:先创建连接,然后发送websocket请求

第二种场景:创建连接,并且发送websocket请求

结论:先创建连接再发送请求,tps到后面抖动厉害,创建连接并且发送请求的场景tps比较平稳,但因为只用了10个并发线程数,从tps趋势来看,还没达到服务器的瓶颈,所以接下来采用阶梯加压线程数进行单个请求的负载测试。

八、用jp@gc - Stepping Thread Group线程组进行单个请求的负载测试

第1轮:目标100个并发线程数,阶梯加压,吞吐量TPS能达到344,但是才37秒就开始报错了,并发线程数太高,调整策略重新来

第2轮:注释响应断言和断言结果,因为会影响tps,目标20个并发线程数,10秒增加2个线程,平均TPS达到了268.4/sec,响应时间也在1秒钟内,并发线程数18的时候最高tps达到了430,虽然有0.01%的报错,但是在可承受范围之内,符合websocket请求压测的预期

jmeter压测websocket协议其他资料参考阿里云:https://help.aliyun.com/document_detail/93627.html

服务器名称或IP:WebSocket端点(主机,服务器端WebSocket组件所在的位置)
端口号:WebSocker服务器侦听的端口,通常是HTTP端口80
超时:连接 -设置连接的最长时间(以毫秒为单位),如果超出则采样器失败,响应 -响应消息相同
实现:唯一可用的是RFC6455(v13) - WebSocket协议标准的最新版本
协议:要使用的WebSocket协议:ws前缀标识WebSocket连接,wss前缀标识WebSocket安全连接
Streaming Connection:表示TCP会话是否保留,如果选中 - 连接将保持不变,如果未选中,则在第一次响应后将关闭连接
请求数据:定义外发消息
响应模式:采样器将等待响应以包含定义的模式(或直到响应超时发生)
关闭连接模式:与“响应模式”基本相同,但连接将被关闭
消息Backlog:标识要保留的响应消息的最大长度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/27027.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2.Flink应用

2.1 数据流 DataStream:DataStream是Flink数据流的核心抽象,其上定义了对数据流的一系列操作DataStreamSource:DataStreamSource 是 DataStream 的 起 点 , DataStreamSource 在StreamExecutionEnvironment 中 创 建 ,…

计算机网络各层的功能以及常用协议

目录 1. 物理层(Physical Layer)2. 数据链路层(Data Link Layer)3. 网络层(Network Layer)4. 传输层(Transport Layer)5. 应用层(Application Layer) 计算机网…

init_pg_dir 的大小及作用

init_pg_dir 的大小 vmlinux.lds.S 中 在vmlinux.lds.S 中,有 init_pg_dir .; . INIT_DIR_SIZE; init_pg_end .;/*include/asm/kernel-pgtable.h*/ #define EARLY_ENTRIES(vstart, vend, shift) \ ((((vend) - 1) >&g…

基于 CentOS 7 构建 LVS-DR 群集

文章目录 前言1、LVS集群2、DR模式的工作流程图 一、LVS DR模式的配置二、配置步骤总结 前言 什么是LVS集群?DR模式? 1、LVS集群 LVS采用的是合入内核模块,先把对于nginx来说要稳定很多,性能和稳定都在一定层度上占据优势&…

【ChatGPT 指令大全】怎么使用ChatGPT写履历和通过面试

目录 怎么使用ChatGPT写履历 寻求履历的反馈 为履历加上量化数据 把经历修精简 为不同公司客制化撰写履历 怎么使用ChatGPT通过面试 汇整面试题目 给予回馈 提供追问的问题 用 STAR 原则回答面试问题 感谢面试官的 email 总结 在职场竞争激烈的今天,写一…

mysql从每个分组中取特定条件行的全部内容

取每个task_id分组中更新日期最新的一行 采用join的方式完成 select a.task_id,a.theme_id,a.time_unix from table_xxx a join (select task_id,max(time_unix) as max_timefrom table_xxxwhere date < ${date}and date > ${date} - 3and theme_i…

linux网络编程--线程池UDP

目录 学习目标 1线程池 2.UDP通信 3本地socket通信 学习目标 了解线程池模型的设计思想能看懂线程池实现源码掌握tcp和udp的优缺点和使用场景说出udp服务器通信流程说出udp客户端通信流程独立实现udp服务器代码独立实现udp客户端代码熟练掌握本地套接字进行本地进程通信 1…

FreeRTOS源码分析-10 互斥信号量

目录 1 事件标志组概念及其应用 1.1 事件标志组定义 1.2 FreeRTOS事件标志组介绍 1.3 FreeRTOS事件标志组工作原理 2 事件标志组应用 2.1 功能需求 2.2 API 2.3 功能实现 3 事件标志组原理 3.1 事件标志组控制块 3.2 事件标志组获取标志位 3.3 等待事件标志触发 3.4…

ESD接地实时监控系统有哪些功能

ESD接地实时监控系统是一种用于监测和维护静电放电&#xff08;ESD&#xff09;接地的设备和软件系统。静电放电事件可能会对敏感电子元件、设备或工作环境造成损害&#xff0c;因此对ESD接地进行有效的监控至关重要。 ESD接地实时监控系统主要包括以下几个方面的功能&#xf…

小程序的api使用 以及一些weui组件实列获取头像 扫码等

今日目标 响应式单位rpx小程序的生命周期 【重点】20%小程序框架 weui 【重点】 50%内置API 【重点】30%综合练习 1. 响应式rpx 1.1 rpx单位 rpx是微信小程序提出的一个尺寸单位&#xff0c;将整个手机屏幕宽度分为750份&#xff0c;1rpx 就是 1/750&#xff0c;避免不同手…

PCL 可视化球图形

文章目录 一、简介二、实现代码三、实现效果修改之处一、简介 过程很简单,使用pcl::visualization::PCLVisualizer中的addSphere函数就可以了,不过PCL中默认的球的分辨率过小,不够精细,需要我们手动修改一下源码。 二、实现代码 //标准文件 #include <iostream> #in…

QT自带PDF库的使用

QT自带PDF库可以方便的打开PDF文件&#xff0c;并将文件解析为QImage&#xff0c;相比网上提供的开源库&#xff0c;QT自带PDF库使用更方便&#xff0c;也更加可靠&#xff0c;然而&#xff0c;QT自带PDF库的使用却不同于其他通用库的使用&#xff0c;具备一定的技巧。 1. 安装…

以太网DHCP协议(十)

目录 一、工作原理 二、DHCP报文 2.1 DHCP报文类型 2.2 DHCP报文格式 当网络内部的主机设备数量过多是&#xff0c;IP地址的手动设置是一件非常繁琐的事情。为了实现自动设置IP地址、统一管理IP地址分配&#xff0c;TCPIP协议栈中引入了DHCP协议。 一、工作原理 使用DHCP之…

Go语言基础: Switch语句、Arrays数组、Slices切片 详细教程案例

文章目录 一. Switch语句1. Default case2. Multiple expressions in case3. Expressionless switch4. Fallthrough5. break6. break for loop 二. Arrays数组1. when arrays are passed to functions as parameters2. Iterating arrays using range3.Multidimensional arrays …

通向架构师的道路之weblogic与apache的整合与调优

一、BEAWeblogic的历史 BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、 网络应用和数据库应 用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的 开发、集成、部署和管理之中。 BEA WebLogic Server拥有处理关键Web应…

title和h1、b与strong、i和em的区别

title 与 h1 的区别、b 与 strong 的区别、i 与 em 的区别&#xff1f; title 与 h1&#xff1a;h1 标签写在网页的 body 中&#xff0c;title 标签写在网页的 head 中&#xff0c;h1 标签控制一段文字的大小&#xff08;从 h1~h6&#xff09;&#xff0c;title 是网页标题的意…

pytorch求导

pytorch求导的初步认识 requires_grad tensor(data, dtypeNone, deviceNone, requires_gradFalse)requires_grad是torch.tensor类的一个属性。如果设置为True&#xff0c;它会告诉PyTorch跟踪对该张量的操作&#xff0c;允许在反向传播期间计算梯度。 x.requires_grad 判…

TM4C123库函数学习(1)--- 点亮LED+TM4C123的ROM函数简介+keil开发环境搭建

前言 &#xff08;1&#xff09; 首先&#xff0c;我们需要知道TM4C123是M4的内核。对于绝大多数人而言&#xff0c;入门都是学习STM32F103&#xff0c;这款芯片是采用的M3的内核。所以想必各位对M3内核还是有一定的了解。M4内核就是M3内核的升级版本&#xff0c;他继承了M3的的…

【力扣每日一题】2023.8.5 合并两个有序链表

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 题目给我们两个有序的链表&#xff0c;要我们保持升序的状态合并它们。 我们可以马上想要把两个链表都遍历一遍&#xff0c;把所有节点的…

扫地机器人(dfs基础)

题面 Mike同学在为扫地机器人设计一个在矩形区域中行走的算法&#xff0c;Mike是这样设计的&#xff1a;先把机器人放在出发点 (1,1)(1,1) 点上&#xff0c;机器人在每个点上都会沿用如下的规则来判断下一个该去的点是哪里。规则&#xff1a;优先向右&#xff0c;如果向右不能走…