目录
步骤1:安装插件JMeter WebSocket Samplers
在当今高并发的网络环境下,WebSocket协议已经成为了最受欢迎的实时通信技术之一。然而,对于开发人员来说,如何有效地压测WebSocket协议仍是一个挑战。
Jmeter是一款功能强大、易用的负载测试工具,而它也可以轻松地对WebSocket协议进行压测。通过使用Jmeter测试WebSocket协议,您可以验证您的应用程序在高并发场景下的性能表现,并及时发现和解决潜在的性能问题。
因此,如果您正在寻找一种可靠且高效的方式来测试WebSocket协议,那么使用Jmeter进行WebSocket协议压测将是您不错的选择!
目前市面上的协议种类繁多,我们可以通过Jmeter添加插件实现脚本编写,这里以WebSocket协议的业务压测为例来说明。
WebSocket的插件较多,本文以JMeter WebSocket Samplers为例来进行压测。JMeter WebSocket Samplers具有以下特性:
线程组->添加->取样器,可以看到以下添加的采样器选择,具体说明如下:
采集器名称 | 说明 |
---|---|
WebSocket Close | 用于正常关闭 websocket 连接 |
WebSocket Open Connection | 用于显式设置websocket连接 |
WebSocket Ping/Pong | 用于发送ping和接收pong请求 |
WebSocket Single Read Sampler | 用于接收一个(文本或二进制)WebSocket 帧 |
WebSocket Single Write Sampler | 用于发送一个(文本或二进制)WebSocket 帧 |
WebSocket request-response Sampler | 用于执行基本的请求-响应请求 |
下面对JMeter WebSocket Samplers各采集器的配置与使用进行说明
相关配置说明:
配置项 | 说明 |
---|---|
协议 | 协议可以是WS或WSS,WSS是进行加密连接。 |
Server name or IP | 域名或IP地址 |
Port | 端口号 |
Path | 路径,可为空 |
Connection timeout(ms) | 建连的超时时间 |
Read timeout(ms) | 等待服务器响应的超时时间 |
3. 添加一个WebSocket Ping/Pong采集器,线程组->添加->取样器->WebSocket Ping/Pong,该采集器用于发送ping和接收 pong请求
相关配置说明:
配置项 | 说明 |
---|---|
ping/pong(send ping,expect pong) | 用于发送ping和接收pong |
pong(just send pong) | 仅发送未经请求的pong |
pong(read) timeout(ms) | 表示如果JMeter在20秒内没有收到Pong消息,则Sampler将失效。此Sampler会复用已有连接 |
4. 添加一个WebSocket Single Read Sampler采集器,线程组->添加->取样器->WebSocket Single Read Sampler,用于接收一个(文本或二进制)WebSocket 帧
配置项 | 说明 |
---|---|
use existing connection | 复用已有连接 |
setup new connection | 创建新的连接 |
Response (read) timeout (ms) | 响应超时时间 |
5. 添加一个WebSocket Single Write Sampler采集器,线程组->添加->取样器->WebSocket Single Write Sampler,用于发送一个(文本或二进制)WebSocket 帧
配置项 | 说明 |
---|---|
use existing connection | 复用已有连接 |
setup new connection | 创建新的连接 |
Request data | 填写请求数据 |
6. 添加一个WebSocket request-response Sampler采集器,线程组->添加->取样器->WebSocket request-response Sampler,用于执行基本的请求-响应请求
配置项 | 说明 |
---|---|
use existing connection | 复用已有连接 |
setup new connection | 创建新的连接 |
Request data | 填写请求数据 |
Response (read) timeout (ms) | 响应超时时间 |
7. 添加一个WebSocket Close采集器,线程组->添加->取样器->WebSocket Close,用于正常关闭 websocket 连接
配置项 | 说明 |
---|---|
Close Status | 关闭连接时定义的状态码,数据帧的头两个字节 |
Response (read) timeout (ms) | 响应超时时间 |
8. 右键单击线程组,选择添加 -> 监听器 -> 查看结果树,在线程组中添加监听器查看结果树,用于接收服务端的消息响应。
根据上面步骤二选择需要的采集器进行脚本编辑完成后,单击页面顶部的开始按钮,运行脚本。
通过查看结果树查看脚本是否运行正常。在左侧导航树中,选择查看结果树,查看请求结果是否符合预期。如果出现请求失败的,需要根据步骤二重新调整脚本。
---------------------------------------
获取方式:留言【软件测试学习】即可
这篇贴子到这里就结束了,最后,希望看这篇帖子的朋友能够有所收获。
如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!