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 – 保留返回结果的数量(如果希望只保留最新一条,可以设定为1)

 

二、建立连接:WebSocket Open Connection

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


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

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

四、Ping/Pong

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

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WebSocket压力测试是用于评估和验证WebSocket服务器的性能和可靠性的过程。它可以帮助开发人员确定服务器在不同负载条件下的性能表现,并找出潜在的性能瓶颈。 以下是一些常见的WebSocket压力测试工具和方法: 1. Autobahn|Python:这是一个流行的WebSocket测试套件,使用Python编写。它提供了一个完整的测试框架,包括客户端和服务器端的实现。您可以使用Autobahn|Python创建具有不同负载条件的测试脚本,并对WebSocket服务器进行压力测试。 2. wrk:这是一个高性能的HTTP压力测试工具,也可以用于WebSocket压力测试。尽管它是一个HTTP工具,但可以通过自定义脚本与WebSocket服务器建立连接并发送消息。 3. Locust:这是一个可扩展的性能测试工具,可以用于WebSocket压力测试。它使用Python编写,并支持通过编写自定义脚本来模拟大量用户同时连接到WebSocket服务器。 4. JMeter:这是一个广泛使用的性能测试工具,主要用于HTTP和WebSocket压力测试。通过使用JMeterWebSocket插件,您可以轻松地创建和执行WebSocket压力测试计划。 在执行WebSocket压力测试时,您可以通过模拟多个并发连接、发送大量消息、增加负载等方式来模拟真实的负载条件。您还可以监视服务器的性能指标,如响应时间、吞吐量和错误率,以评估服务器的性能表现。 请注意,在进行WebSocket压力测试时,确保您已经获得了服务器端的许可,并且测试不会对服务器和网络造成不必要的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值