WebSocket protocol 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duplex)。
浏览器和服务器只需要要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。在此WebSocket 协议中,为我们实现即时服务带来了两大好处:
1. Header  互相沟通的Header是很小的-大概只有 2 Bytes
2. Server Push
浏览器请求
GET /WebSocket/LiveVideo HTTP/1.1
Upgrade: WebSocket
Connection: Upgrade
Host: localhost:8080             (客户端请求主机)
Origin: http://127.0.0.1         (来源网页地址)
Sec-WebSocket-Key1: 23 asdfJKj,asdjk
Sec_WebSocket-Key2: wewerw234 jij998
0x13x10 + 8个字节Sec_WebSocket-Key3值,没有键名(注意,这里的0x13x10的额外的,也就说有两个连续的0x13x10)

服务器回应

HTTP/1.1 101 Web Socket Protocol Handshake
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Origin: http://127.0.0.1     (来源网页地址)
Sec-WebSocket-Location: ws://localhost:8080/WebSocket/LiveVideo

Jmeter测试webocket协议

Jmeter本身不支持websocket协议的,所以需要安装第三方的插件还有6个依赖包。下载地址:https://jmeter-plugins.org/

下载完成以后直接放到jmeter的\lib\ext\目录下。重启Jmeter就有此插件了。

启动Jmeter,鼠标右键选择测试计划->添加->Threads(users)->线程组->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 – 定义服务器返回消息保留的最大长度。

进行测试

测试地址:http://www.websocket.org/echo.html

添加WebSocket Sampler后,再添加一个查看结果树,运行后即可查看结果。

Jmeter对基于websocket协议的压力测试相关推荐

  1. 基于 Websocket 协议的压力测试

    背景 最近客户端实现了一个基于websocket的消息推送功能:长连接网络开关下发开后启动,然后保持链接,每隔15分钟发一次心跳包,服务器有数据时直接下发生效,因此需要对服务器进行压测. 本次通过写p ...

  2. php即时聊天的框架_workerman-chat(PHP开发的基于Websocket协议的聊天室框架)(thinkphp也是支持socket聊天的)...

    workerman-chat(PHP开发的基于Websocket协议的聊天室框架)(thinkphp也是支持socket聊天的) 一.总结 1.下面链接里面还有一个来聊的php聊天室源码可以学习 2. ...

  3. 开发人员学Linux(4):使用JMeter对网站和数据库进行压力测试

    前言 表面看来,JMeter与本系列课程似乎关系不大,但实际上在后面的很多场景中起着重要作用:如何获知修改了某些代码或者设置之后系统性能是提升了还是下降了呢?商业的压力测试工具LoadRunner确实 ...

  4. 基于WebSocket协议实现Broker

    写在前面: 前两篇文字<<基于MQTT协议谈谈物联网开发-华佗写代码>>,<<基于MQTT协议实现Broker-华佗写代码>>主要叙述了MQTT协议的编 ...

  5. workerman-chat(PHP开发的基于Websocket协议的聊天室框架)(thinkphp也是支持socket聊天的)...

    workerman-chat(PHP开发的基于Websocket协议的聊天室框架)(thinkphp也是支持socket聊天的) 一.总结 1.下面链接里面还有一个来聊的php聊天室源码可以学习 2. ...

  6. Spring Boot实战之基于WebSocket协议构建交互式Web应用

    本文阅读时间大约8分钟. 1. WebSocket简介 WebSocekt协议诞生于2008年,在2011年成为国际标准,目前所有的浏览器都已经支持WebSocket协议了.WebSocket协议属于 ...

  7. 基于Kubernetes的分布式压力测试方案

    压力测试是用来检测系统承载能力的有效手段.在系统规模较小的时候,在一台空闲的服务器上使用[ab],[wrk],[siege]等工具发起一定量的并发请求即可得到一个初步的测试结果.但在系统复杂度逐步提高 ...

  8. 基于WebSocket协议的iOS端即时聊天

    好好好久没有在cnblogs上写博客,不过在这里写的最早的一篇博客的时间戳,真是时间久远啊,那时候还没毕业.不在cnblogs的期间,在github pages.简书上写过博客,github page ...

  9. websocket python爬虫_python实现基于websocket协议的网络爬虫

    WebSocket是一种在单个TCP连接上进行全双工通信的协议,简单来说就是建立一个TCP长连接之后,你可以服务器随时可以给客户端发送消息,客户端随时可以给服务器发送消息,而以前只能是客户端给服务器发 ...

最新文章

  1. 【c语言】蓝桥杯算法提高 数的运算
  2. python随机排列图片_python 随机打乱 图片和对应的标签方法
  3. 安装了超图、oracle、eclipse、JDK后系统的java进程情况以及java.exe、javaw.exe
  4. android 中 系统日期时间的获取
  5. java开发组态软件下载_基于JAVA的煤矿安全监控系统组态软件设计研究.pdf
  6. 数据压缩 第四次作业
  7. C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码
  8. NWERC 2018——B.Brexit Negotiations
  9. hadoop+hive-0.10.0完全分布式安装方法
  10. 用户思维模型,围绕用户核心四大模块,拉新、养熟、成交、裂变循环的效果...
  11. grafana zabbix 模板_Grafana + Zabbix 监控系统搭建
  12. 微软的OneNote正在获得类似Win11风格的外观
  13. mybatis的trim标签
  14. (四)孪生神经网络介绍及pytorch实现
  15. word 产生很多temp 不显示_Word与PPT互转,怎样才能30秒内搞定?教程来了
  16. 最火前端Web组态软件(可视化)
  17. SystemVue介绍
  18. 电路逻辑门图形符号汇总
  19. C语言万年历设计制作
  20. 学习笔记(一)---Docker概述

热门文章

  1. 同步磁阻电机SynRM矢量控制 基于FOC策略,其中转速环和电流环采用PI
  2. Panoptic SegFormer:全景分割第一名!南大港大英伟达提出新算法,霸榜全景分割...
  3. vue 图片指定大小压缩
  4. JQ 中文文档 _各版本下载
  5. 全媒舍:活动策划对于宣传的最终效果影响很大
  6. ArcGIS api for JavaScript 之 空间、属性查询
  7. 软件技术实习项目:实验二、贪吃蛇游戏
  8. 基于强化学习的服务链映射算法
  9. VIOOVI视与视的ECRS工时分析软件分享:产品单位标准工时怎么计算?
  10. mysql创建表分区详细介绍及示例