jmeter&WebSocket直播间性能测试

http://t.csdn.cn/GfXzJ

1.Jmeter本身是支持HTTP方法,要测试WebSocket的接口,首先要安装插件。 安装插件的方法:
1)首先下载插件管理器
① 访问网站:https://jmeter-plugins.org/install/Install/
②下载jmeter-plugins-manager-1.3 .jar包
③ 将下载的包放到 jmeter的lib/ext目录,重启jmeter**

2.调试websocket请求是否正常,添加一个线程组,添加取样器,添加websocket请求
1)查看用的请求方法是ws还是wss
2)端口号要正确
3)填写服务器地址和路径
4)添加查看结果树,观察运行结果是否成功

jmeter&WebSocket直播间性能测试

jmeter&WebSocket直播间性能测试

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

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

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

4)接下来就是进入直播间,即每个用户登录后需要绑定房间才能成功进入直播间(这里具体看实际的业务场景,需要对直播间的业务进行分析,比如从登录进入直播间需要用到的哪些接口&接口之间的数据关联性等)。
①由于绑定到直播间需要用到一个id,这个id是websocket接口返回的,而且每次返回的都不一样,所以这里我们要把这个id进行参数化,然后给绑定房间的接口使用。

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

jmeter&WebSocket直播间性能测试

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

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

jmeter&WebSocket直播间性能测试

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

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

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

遇到的问题总结:
问题描述:接口请求频繁报错
分析原因:接口限制,每分钟请求不能超过60次(这是不同业务系统的特性,主要看有没有做限制)
解决方法:在接口请求下加一个定时器,延迟1000ms请求1次,这样1分钟就不会超过60次了

jmeter&WebSocket直播间性能测试

问题描述:websocket返回的clientId中带有加号,通过绑定房间接口取到的数据加号就显示为空,实际上就是id错了,接口没报错,但用户并未显示为在线状态(具体情况是登录成功60个用户,只有30个显示为在线状态,有时是25个)
分析原因:返回的clientId部分不带加号,部分带了加号,所以导致每次请求的时候上线的数量都是不一致的
解决方法:将websocket中取到的数据即绑定房间的接口请求进行数据格式化

Original: https://www.cnblogs.com/ngd-mzl/p/16035132.html
Author: 尼古丁·瘾
Title: jmeter&WebSocket直播间性能测试

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/585219/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 版本控制gitlab

    版本控制gitlab 版本控制gitlab 什么是版本控制gitlab gitlab部署 什么是版本控制gitlab GitLab 是一个用于仓库管理系统的开源项目,使用Git作为…

    Linux 2023年6月6日
    0110
  • 八、网络管理

    常见查看网络命令ifconfigip addr showroute -n 查看路由(也可以查看网关)pingtraceroute www.sina.comarping -I eno…

    Linux 2023年6月7日
    0114
  • LVM讲解及磁盘挂载故障

    LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,使硬盘不必使用分区也能被简单地重新划分大小。首先我们先…

    Linux 2023年6月7日
    077
  • MSSQL中完整备份及完整还原的T-SQL实践

    | 0.37分钟 | 596.8字符 | 1、引言&背景 2、完整备份 3、完整还原 4、声明与参考资料 | SCscHero | 2022/5/27 AM12:47 | …

    Linux 2023年6月14日
    085
  • TELE poj1155 题解

    很明显,这道题是以1为根的树,存在最优子问题,因此考虑树形DP。 先看一下样例 常识:利润=收入-成本,也就是:叶节点点权-边权 那么更加明显用dp[i][j]来记录在以i为根节点…

    Linux 2023年6月6日
    0103
  • 前端之jQuery快速入门

    一、jQuery 一款轻量级的JS框架。jQuery的核心JS文件才几十kb,不会影响页面加载速度。 丰富的DOM选择器,jQuery的选择器用起来很方便,比如要找到某个DOM对象…

    Linux 2023年6月14日
    095
  • 微服务架构项目搭建过程中的Mysql安装和相关问题

    搭建微服务架构的过程中需要使用Mysql数据库,Mysql数据库搭建着实不是一个容易的事情,会碰到各种各样的问题,如果没有一个安装数据库的思路真的很难把数据库安装好,并且掉入到安装…

    Linux 2023年6月14日
    0112
  • .Net MVC实现角色-API权限验证的一种方式

    阅文时长 | 1.15分钟字数统计 | 1844.8字符主要内容 | 1、引言&背景 2、部分设计分享 3、声明与参考资料『.Net MVC实现角色-API权限验证的一种方…

    Linux 2023年6月13日
    0104
  • Markdown 常用语法精讲

    标题 (# 跟标题名称一定要留空格) 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 缩进 (使用) 这是缩进四个空格文本 (源码: 这是缩进四个空格文本) 强调/加粗…

    Linux 2023年6月7日
    0132
  • MySQL之多表查询、Navicat及pymysql

    一、多表查询 1.1 数据准备 — 建表 create table dep( id int primary key auto_increment, name varchar(20…

    Linux 2023年6月14日
    0107
  • 每天一个 HTTP 状态码 102

    102 Processing 是用于 WebDAV 请求的一种状态码… 102 Processing 102 Processing 是用于 WebDAV协议 请求的状态…

    Linux 2023年6月7日
    0114
  • 网络设备配置–9、利用ppp协议实现点对点认证

    一、前言 同系列前几篇:网络设备配置–1、配置交换机enable、console、telnet密码网络设备配置–2、通过交换机划分vlan网络设备配置&#8…

    Linux 2023年6月8日
    090
  • Linux 0.11源码阅读笔记-中断过程

    Linux 0.11源码阅读笔记-中断过程 是什么中断 中断发生时,计算机会停止当前运行的程序,转而执行中断处理程序,然后再返回原被中断的程序继续运行。中断包括硬件中断和软件中断,…

    Linux 2023年5月27日
    0117
  • linux命令之tar 解压 压缩

    tar(全称:tape archive )命令用于备份文件。tar 是用来 创建或者 还原备份文件的工具程序,它可以加入,解开备份文件内的文件。tar linux说明 tar [&…

    Linux 2023年5月27日
    082
  • linux bash 手册

    1、Linux shell简介 shell是一种特殊的交互式工具,包含了一组内部命令,这些命令可以完成复制文件,移动文件,显示和终止程序等操作。shell的核心是命令行提示符,它允…

    Linux 2023年6月7日
    089
  • Kubernetes服务发现之Service详解

    一、引子 Kubernetes Pod 是有生命周期的,它们可以被创建,也可以被销毁,然后一旦被销毁生命就永远结束。通过 ReplicationController 能够动态地创建…

    Linux 2023年6月14日
    098
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球