当前位置: 首页 > article >正文

别天天看看直播了,你知道如何用jmeter对直播间做压测吗

01 安装插件

Jmeter本身是支持HTTP方法,要测试WebSocket的接口,首先要安装插件。

安装插件的方法:

1、首先下载插件管理器

  • 访问网站:https://jmeter-plugins.org/install/Install/
  • 下载jmeter-plugins-manager-1.3 .jar包
  • 将下载的包放到 jmeter的lib/ext目录,重启Jmeter**

图片

图片

2、下载完后在Jmeter的项目下可查看插件管理工具,点击进入可下载支持websocket的插件

图片

02 调试websocket请求

调试websocket请求是否正常,添加一个线程组,添加取样器,添加websocket请求

1)查看用的请求方法是ws还是wss

2)端口号要正确

3)填写服务器地址和路径

4)添加查看结果树,观察运行结果是否成功

图片

图片

图片

03 进入正题

完成以上前置条件之后就可以开始进入正题了,先分析业务场景&测试需求,开始进行编写测试用例,这里我们模拟的场景是:直播间同时登录60用户数即60个用户同时在线(数字设置比较小是为了方便做实验,后期需要可以新增一定的用户数量,比如200,500,1000等)和部分用户在直播间发送消息进行聊天的场景,观察直播间的画面&视频是否卡顿,服务器的性能变化。

1、数据准备:60个用户账号&密码

图片

2、添加CSV数据文件,将账号密码进行参数化

图片

图片

3、写好登录接口,请求的data中的账号密码使用CSV文件中的变量名(获取txt文件中实际的账号密码)
图片

4、接下来进入直播间,即每个用户登录后需要绑定房间才能成功进入直播间(这里具体看实际的业务场景,需要对直播间的业务进行分析,比如从登录进入直播间需要用到的哪些接口&接口之间的数据关联性等)

由于绑定到直播间需要用到一个id,这个id是websocket接口返回的,而且每次返回的都不一样,所以这里我们要把这个id进行参数化,然后给绑定房间的接口使用。

图片

添加后置处理器,JSON提取器把clientId提取出来备用

图片

绑定房间接口和以及接下来会用到的发送消息接口需要用到登录状态,这里我们也把登录接口返回的auth进行参数化。(同理把auth也进行参数化处理)

图片

添加配置元件-HTTP信息头管理器(将auth变量写进去,之后需要用到登录的接口都会直接从这里取,不需要再单独写)

图片

绑定房间接口,clientId使用动态提取的数据,传参里面的数据根据具体业务逻辑即可

图片

运行一下,在添加的察看结果树中查看请求返回的参数是否正确(以下示例成功)

图片

5、新增发送消息接口,查看运行结果是否成功

图片

图片

遇到的问题总结:

问题描述:接口请求频繁报错

分析原因:接口限制,每分钟请求不能超过60次(这是不同业务系统的特性,主要看有没有做限制)

解决方法:在接口请求下加一个定时器,延迟1000ms请求1次,这样1分钟就不会超过60次了

 最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】


http://www.kler.cn/a/290429.html

相关文章:

  • Python如何用正则表达式匹配并处理文件名
  • WebStorm 如何调试 Vue 项目
  • 招聘app开发,人才招聘、求职首要方式
  • Flutter 小技巧之 Shader 实现酷炫的粒子动画
  • 掌握核密度图:精准描绘不同年龄段的血糖分布
  • C++builder中的人工智能(21):Barabási–Albert model(BA)模型
  • LearnOpenGL学习笔记
  • MySQL复习4
  • 构建灵活的搜索系统:Go 语言实践
  • AI驱动测试管理工具会有哪些发展前景呢?
  • 关于多线程unique_lock和guard_lock
  • 冒泡排序及qsort函数
  • P1505 [国家集训队] 旅游
  • 【C++深入学习】日期类函数从无到有实现
  • day-49 使数组中所有元素相等的最小操作数
  • glsl着色器学习(三)
  • 随时随地远程启动家里设备,极空间部署一键网络唤醒工具『UpSnap』
  • C++ 消息分发类:详细示例应用
  • Python 数据分析笔记— Numpy 基本操作(上)
  • zdppy_cache缓存框架升级,支持用户级别的缓存隔离,支持超级管理员管理普通用户的缓存
  • 【MySql】面试问答:在使用mysql时,遇到分页查询慢的情况怎么处理?
  • 观测云核心技术解密:eBPF Tracing 实现原理
  • Java项目:137 springboot基于springboot的智能家居系统
  • 1. 深度学习基础:从神经网络到深度学习
  • CSS系列之浮动清除clear(三)
  • ztree搜索结果高亮变颜色(非highlight属性)