目录[-]
Jmeter 对 WebSocket 协议进行性能测试
一、准备工作
1. 安装 WebSocket 插件
-
插件名称:
WebSocket Samplers by Peter Doornbosch -
安装方式:
-
通过 JMeter Plugins Manager 搜索安装
-
或手动下载 websocket-samplers-1.2.1.jar 放入
lib/ext目录
-
2. 依赖库
确保 JMeter 已包含:
-
jetty-websocket-client-9.4.xx.jar -
jetty-io-9.4.xx.jar -
jetty-util-9.4.xx.jar
————
二、测试计划配置
在测试计划之前,需要下载依赖库,将 jmeterwebsocketsampler-1.0.2-snapshot.jar 文件,放置在Jmeter安装目录 ib/ext 下,再次启动Jmeter
点击“Yes,install it”安装依赖库,安装后,可以创建websocket取样器,如下
————
三、WebSocket原理
客户端发送1帧报文到服务器,服务器接受并保持连接,那么如何保持连接?定期发送心跳包给客户端,而客户端收到心跳包后,再返回服务器,WebSocket连接建立后,后续数据以帧序列的形式传输,客户端断开WebSocket连接或Server端中断连接前,不需要客户端和服务端重新发起连接请求。
通俗点讲:
第1次:客户端请求服务器(且一直保持连接)
第2次:服务器告诉客户端,我返回了123
第3次:服务器告诉客户端,我返回了456
第4次:服务器告诉客户端,我返回了789
.。。。
第9999次:服务器告诉客户端,我返回了99819以此类推
————
四、WebSocket 取样器设计
- WebSocket Open Connection:客户端与服务器握手,使用的协议就不是之前的https或http,而是wss
- WebSocket Sampler:保持心跳时的请求
-
Streaming connection:请求完毕后,保持心跳连接;如果不勾选,每次发送请求时,都会重新连接。
-
检查第一次请求后的取样器结果
-
Opening new connection:打开新连接
-
Connection estabisherd:连接保持中
-
Leaving streaming connection open:请求结束后仍然保持与服务器连接
-
-
第二次请求后的结果
-
Reusing existing connection:使用已有连接
-
-
返回结果:
-
Message 1:服务器返回标识
-
Message 2:base64位码组成的响应结果,复制后在字符串前面加上data:image/jpg;base64,复制后放到网页,就可以显示设备图片
-
-
测试报告内容
————