如何使用Jmeter对WebSocket进行压力测试

摘抄自:https://blog.csdn.net/typing_yes_no/article/details/49512167

一、Jmeter对WebSocket协议的环境准备

因为Jmeter本身不支持WebSocket协议的,所以需要安装第三方的插件JMeterWebSocketSampler-1.0.2-SNAPSHOT.jar,并直接将这个jar包放到Jmeter软件的\lib\ext\目录下。

查阅https://github.com/maciejzaleski/JMeter-WebSocketSampler/wiki/Dependencies看到,这个插件需要以下几个jar包的支持:

1、jetty-http-9.1.2.v20140210.jar

2、jetty-io-9.1.2.v20140210.jar

3、jetty-util-9.1.2.v20140210.jar

4、websocket-api-9.1.1.v20140108.jar

5、websocket-client-9.1.1.v20140108.jar

6、websocket-common-9.1.1.v20140108.jar

为了方便大家,这里有已经整理好的,可以到https://pan.baidu.com/s/1O7L0S8xmsQ3ZMPpJgB9Hbg (密码:1wjw)。以上jar包都准备好并放到Jmeter目录的\lib\ext\目录下后,重启Jmeter之后可以在sampler中看到websocket sampler这一项。

二、WebSocket Sampler介绍

WebSocket Sampler

1、WebServer

(1)Server Name or IP:WebSocket发送的目标服务器的地址或者名称

(2)Port Number:WebSocker服务器监听的端口号。(一般是HTTP 80端口,可以通过WireShark数据包得到)

2、Timeout: 

(1)Connection – 发送一个连接请求后,Jmeter等待连接完成的最长时间,单位是毫秒。

(2)Response - 对响应消息的最大等待时间。

3、WebSocket Request

(1)Implementation – 只支持RFC6455(v13) ,WebSocket协议标准的最新版。

(2)Protocol – 有ws与wss之分,  ws前缀是WebSocket连接的辨别标识,wss前缀是WebSocket安全连接的辨别标识。根据自己的实际情况填写

(3)Streaming Connection – 选择这个TCP session要不要保持,如果勾上标识连接会一直存在,如果没有勾上,那么得到第一次响应后该链接就会被关闭。

(4)Request data:填入将要发送的请求,要跟开发沟通好,这个是什么格式的消息。

4.WebSocket Response

(1)Response Pattern – 采样器将等待含有该标识的消息并继续通信(或者直到timeout,该连接关闭)

(2)Close Connection Pattern – 如果服务器返回的消息含有这样的字符,就结束会话。

(3)Message Backlog – 定义服务器返回消息保留的最大长度。

三、实践

1.创建线程组

添加线程组

2.在线程组中创建WebSocket测试

创建WebSocket Sampler

3.配置WebSocket Sampler

WebSocket Sampler参数

WebSocket的Ip可以通过浏览器的页面检查工具中获取(例:google浏览器中右键 -> 检查)

查看WebSocket地址

4.添加监听器便于查看分析结果  (常用的有图形结果、察看结果树、聚合报告,详细可到https://www.cnblogs.com/hc1020/category/1109922.html了解)

选择监听器

5.运行测试计划并查看结果

运行线程组
查看结果

就就就这样结束了~~

你可能感兴趣的:(如何使用Jmeter对WebSocket进行压力测试)