目录[-]

Jmeter 对 WebSocket 协议进行性能测试

 

一、准备工作

1. 安装 WebSocket 插件

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 取样器设计

 

  1. WebSocket Open Connection:客户端与服务器握手,使用的协议就不是之前的https或http,而是wss
  2. WebSocket Sampler:保持心跳时的请求
  3. Streaming connection:请求完毕后,保持心跳连接;如果不勾选,每次发送请求时,都会重新连接。

  4. 检查第一次请求后的取样器结果

    1. Opening new connection:打开新连接

    2. Connection estabisherd:连接保持中

    3. Leaving streaming connection open:请求结束后仍然保持与服务器连接

  5. 第二次请求后的结果

    1. Reusing existing connection:使用已有连接

  6. 返回结果:

    1. Message 1:服务器返回标识

    2. Message 2:base64位码组成的响应结果,复制后在字符串前面加上data:image/jpg;base64,复制后放到网页,就可以显示设备图片

  7. 测试报告内容————