zoukankan      html  css  js  c++  java
  • 使用jmeter对websocket进行性能测试

    一、websocket

    WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。

    WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

    它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。

     二、jmeter-websocket组件

    • 可以在官网下载对应的组件:

        https://jmeter-plugins.org/

    • 可以直接在jmeter软件下载,自动安装

    在jmeter里直接下载需要先安装jmeter的插件管理器:

    下载地址:https://jmeter-plugins.org/get/

    将下载的jar包放入 jmeter的 lib/ext目录中,然后重启jmeter。

    然后打开插件管理器:

    下载完成后,JMeter会自动重启

    三、调试

    • 我们可以事后谷歌自带的f12工具抓包,查看websocket请求
    • 然后创建线程组,然后在下面添加对应的websocket请求

    • 根据抓包的内容填写对应的请求内容:

    (可以使用WebSocket request-response Sampler或WebSocket Sampler,方法基本上是一样的)
    websocket的ws对用的是http,wss对应的是https

    • websocket相关的其他sampler

    •  然后添加查看结果树,观察返回的结果

     四、相关使用技巧

      1、Path和Requst data要注意编码格式,websocket发送数据到后端,与http请求的原理是相通的,所以发送的数据如果含有非常字符,如"/"、"+"、"%"、引号等,就会引起解析错误,所以需要特别注意

      2、使用wss时,一定要设置端口为443,不然将使用ws的默认端口。

      3、可以通过控制器来模拟群发消息和真实场景

      4、进行压测时,要注意真实场景是需要一直保持连接,还是需要请求后断开,需要根据实际情况去进行设置,不然容易照成与实际场景不符

  • 相关阅读:
    mysql 遇到的一些问题
    Nginx 深入浅出学习
    spring十三种代理之 -代理模式
    spring 十三种模式之 -- 装饰器模式
    layui使用遇到的一些问题-- 数据表格中嵌套下拉框
    格式化时间-标准做法
    provide --- inject
    vue窗口最上边显示路由进度条
    element --- el-popover
    多个音频播放时,只能播放一个
  • 原文地址:https://www.cnblogs.com/dingxinwen/p/14805356.html
Copyright © 2011-2022 走看看