jmeter 进行 tcp测试 03----实战篇---WebSocket进行压力测试

https://www.cnblogs.com/UncleYong/p/10735967.html

https://blog.csdn.net/weixin_43757847/article/details/84871355

https://www.cnblogs.com/penghaihang/p/7724830.html

jmeter没有websocket协议的取样器,需要下载 jar 包 【jar包下载:链接

  • jar 包放到jmeter的ext目录(D:\apache-jmeter-5.1.1\lib\ext)下即可
  • 重启jmeter
  • 添加线程组
  • 添加取样器
  • 录入参数
  • 添加查看结果树

Websocket几种sampler的使用

Websocket性能测试需要注意的点

  • Websocket跟http请求的关系很小,几乎没有关系,所以在性能测试中,可以根据实际忽略业务场景中一些http请求
  • 根据bodoudou业务场景的设计,我推测ws中很少会进行数据校验,所以可使用重复数据,不用考虑生成批量数据(数据校验会在http请求中)
  • 有些Websocket Single Write和Websocket Single Read一一对应的使用,类似于一问一答的场景(类似http的request-response)可以使用WebSocket request-response Sampler。
  • Websocket Single Read Sampler和WebSocket request-response Sampler中的Read timeout超时时间要注意根据实际场景来设置,如果太短的话,就获取不到数据了
  • 发送的data支持文本(JSON)和Binary二进制数据(没了解过),可以抓包获取格式,直接复制

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 – 定义服务器返回消息保留的最大长度。

建立连接:WebSocket Open Connection

如果仅建立连接,不发送数据,不需要返回数据,用WebSocket Open Connection。


WebSocket request-response Sampler 【我实战中用的是这个】

如果建立连接时,还需要发送或用到返回数据,则用 WebSocket request-response Sampler。

Ping/Pong

根据需求使用,心跳机制,检查连接是否还存在。请求头带编码,告诉WebSocket服务,这是心跳,所以不用填写任何东西,可以直接使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章