高级性能测试系列《28.websocket协议、jmeter如何来测试websocket协议?》

目录一、websocket协议二、jmeter如何来测试websocket协议?三、写脚本1.取样器2.websocket和socket是一个东西吗?3.写脚本一、websocket协议启动websocket项目:下载 virt-dubbo.ova 项目机。vmware 打开这个ova项目。./stwebsocketserver.sh 启动项目。(python3编写的、端口8189、协议 ws)websocket协议是基于TCP的一种新的网络协议,它实现了客户端与服务端全双工通信:允许服务器主动向客户端发送消息,也允许客户端向服务器请求消息。

http协议: 只能客户端向服务器发起请求,服务器收到请求后,进行处理,原路返回。不能实现服务器主动向客户端发送消息。

服务器主动向客户端发送消息:微信有网络时,马上就有消息推送。app,有网络时,主动推送下来的消息(不是短信)。最典型的一个应用:app,心跳机制(保活)。例如收到天气预报的这种短信:它有生成放在发送的序列里面去排队,排到它了就把它推送到你的手机上来。

什么是心跳机制(保活)?看看这个app是不是一直处于一个在线活跃的状态。过一段时间,服务器主动发送一个消息给这个app,确认这个app是不是处于在线状态。

web测试:登录了一段时间未操作,再来操作时,就会出现登录超时。

websocket协议:ws:不加密数据传输。wss:ws + ssl 证书进行数据加密传输。http协议簇 :http:不加密数据传输。https:http + ssl 进行数据加密传输。二、jmeter如何来测试websocket协议?jmeter中要引入插件,jmeter本身的取样器中,不支持websocket协议。

插件管理.jar,jmeter-plugins-manager-1.6.jar。把jar包,放到jmeter的lib\ext文件夹中, 这个文件夹下放第三方开发的jar包。再启动jmeter。jmeter的菜单-->选项-->plugins manager的入口(没有放plugin的jar包时,没有这个入口)。点击入口,出现插件管理的弹窗。Installed plugins:已安装。Available plugins:可用的,但是需要你手动去安装。搜索websocket。勾选WebSocket Samplers by Peter Doornbosch。点击右下角apply changes and restart jmeter。upgrades:可以升级的。三、写脚本1.取样器websocket close:关闭websocket。websocket open connection:建立一个websocket。websocket ping/pong:测试websocket协议的网络能不能通。websocket single read sampler:客户端从服务器端获取响应。websocket single write sampler:客户端向服务端发起请求(不会获取响应)。websocket request-response sampler:同时具备向服务端发起请求和获取响应的功能。2.websocket和socket是一个东西吗?不是一个东西。websocket是一个通信协议(向外暴露接口,可以调用接口),socket:代码层面之间的调用(不向外暴露接口,必须使用代码调用)。

3.写脚本我用的这个项目就是一个微型的直播室。

建立链接。

WebSocket Single Write Sampler:

connect:user exist connection:使用已经建立连接。setup new connection:新建一个连接。Data:数据:text 文本,binary 二进制(例如用微信发消息的时候,是用二进制来传的语音)。request data。向服务器发起消息。

收消息。

运行结果中可以看出发过去的是601。

运行结果:直播室创建成功。

这个接口就测完了。

gitee脚本链接:https://gitee.com/qinghanstudy/gaojixingneng/tree/master/Advanced%20performance%20testing

文章中除标明“图片来自网络”的图片,皆为小编本人所画所截图,计算机知识都一样,如有雷同,纯属巧合。文章是清菡编写的,如有转载,请标明出处!

2025-11-01 08:39:07