遇到Websocket就不会测了?别慌,学会这个Jmeter插件轻松解决....

这篇具有很好参考价值的文章主要介绍了遇到Websocket就不会测了?别慌,学会这个Jmeter插件轻松解决....。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

websocket 是一种双向通信协议,在建立连接后,websocket服务端和客户端都能主动向对方发送或者接收数据,而在http协议中,一个request只能有一个response,而且这个response也是被动的,不能主动发起。

websocket优势:

当服务器完成协议升级后(HTTP->Websocket),服务端就可以主动推送信息给客户端啦。

就变成了这样,只需要经过一次HTTP请求,就可以做到源源不断的信息传送了。(在程序设计中,这种设计叫做回调,即:你有信息了再来通知我,而不是我傻乎乎的每次跑来问你)

这样的协议解决了上面同步有延迟,而且还非常消耗资源的这种情况。

一、WebSocket插件安装及使用

1、安装ws插件,并重启jmeter

 jmeter websocket插件,websocket,jmeter,网络协议,测试工具,压力测试

 jmeter websocket插件,websocket,jmeter,网络协议,测试工具,压力测试

2、WebSocket的使用

重启jmeter 后,添加线程组,右键添加取样器,会出现WebSocket 相关插件

jmeter websocket插件,websocket,jmeter,网络协议,测试工具,压力测试

jmeter websocket插件,websocket,jmeter,网络协议,测试工具,压力测试

 

(1)不勾选streaming

jmeter websocket插件,websocket,jmeter,网络协议,测试工具,压力测试

 

(2)勾上streaming connection

jmeter websocket插件,websocket,jmeter,网络协议,测试工具,压力测试

(3)设置一个测试(添加一个loop controller,设置循环次数为3)

jmeter websocket插件,websocket,jmeter,网络协议,测试工具,压力测试

 

jmeter websocket插件,websocket,jmeter,网络协议,测试工具,压力测试

 

循环中的sampler都勾选了streaming,最后一个sampler没有勾选此选项,结果中可以看出:在loop controller中的sampler使用的是一个连接,在loop外面的这个sampler会打开一个新的连接,可以得出一个结论,实际上,当勾选了streaming connection时,不仅会在结束会话后保留连接,而且勾选了的sampler会在有可用连接是直接使用,而没有勾选的sampler即使存在可用连接也会重新打开一个新的连接。因此,如果是要在一个会话中发送多条消息,请勾选这个streamingconnection

(4)输入request data 查看结果

jmeter websocket插件,websocket,jmeter,网络协议,测试工具,压力测试

jmeter websocket插件,websocket,jmeter,网络协议,测试工具,压力测试

 

二、常规选项解释

1、WebServer

  • Server Name or IP:WebSocket发送的目标服务器的地址或者名称
  • Port Number:WebSocker服务器监听的端口号。(一般是HTTP 80端口,可以通过WireShark数据包得到)

2、Timeout

  • Connection – 发送一个连接请求后,Jmeter等待连接完成的最长时间,单位是毫秒。
  • Response - 对响应消息的最大等待时间。

3、WebSocket Request

  • Implementation – 只支持RFC6455(v13) ,WebSocket协议标准的最新版。
  • Protocol – 有ws与wss之分, ws前缀是WebSocket连接的辨别标识,wss前缀是WebSocket安全连接的辨别标识。根据自己的实际情况填写
  • Streaming Connection – 选择这个TCP session要不要保持,如果勾上标识连接会一直存在,如果没有勾上,那么得到第一次响应后该链接就会被关闭。
  • Request data:填入将要发送的请求,要跟开发沟通好,这个是什么格式的消息。

4、WebSocket Response

  • Response Pattern – 采样器将等待含有该标识的消息并继续通信(或者直到timeout,该连接关闭)
  • Close Connection Pattern – 如果服务器返回的消息含有这样的字符,就结束会话。
  • Message Backlog – 定义服务器返回消息保留的最大长度。

三、WebSocket解决服务器上消耗资源的原理

其实我们所用的程序是要经过两层代理的,即HTTP协议在Nginx等服务器的解析下,然后再传送给相应的Handler(PHP等)来处理。

简单地说:我们有一个非常快速的接线员(Nginx),他负责把问题转交给相应的客服(Handler)。

本身接线员基本上速度是足够的,但是每次都卡在客服(Handler)了,老有客服处理速度太慢,导致客服不够。

jmeter websocket插件,websocket,jmeter,网络协议,测试工具,压力测试

 

Websocket就解决了这样一个难题,建立后,可以直接跟接线员建立持久连接,有信息的时候客服想办法通知接线员,然后接线员在统一转交给客户。这样就可以解决客服处理速度过慢的问题了。

同时,在传统的方式上,要不断的建立,关闭HTTP协议,由于HTTP是非状态性的,每次都要重新传输identity info(鉴别信息),来告诉服务端你是谁。虽然接线员很快速,但是每次都要听这么一堆,效率也会有所下降的,同时还得不断把这些信息转交给客服,不但浪费客服的处理时间,而且还会在网路传输中消耗过多的流量/时间。

Websocket只需要一次HTTP握手,所以说整个通讯过程是建立在一次连接/状态中,也就避免了HTTP的非状态性,服务端会一直知道你的信息,直到你关闭请求,这样就解决了接线员要反复解析HTTP协议,还要查看identity info的信息。

同时由客户主动询问,转换为服务器(推送)有信息的时候就发送(当然客户端还是等主动发送信息过来的…),没有信息的时候就交给接线员(Nginx),不需要占用本身速度就慢的客服(Handler)了。

四、chrome查看WebSocket

jmeter websocket插件,websocket,jmeter,网络协议,测试工具,压力测试

 

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

jmeter websocket插件,websocket,jmeter,网络协议,测试工具,压力测试

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 文章来源地址https://www.toymoban.com/news/detail-839595.html

到了这里,关于遇到Websocket就不会测了?别慌,学会这个Jmeter插件轻松解决....的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 搞的谁还不会爬福利美女跳舞视频一样,用我这个方法非常简单。

    大家好啊!经常听别人说爬虫玩的好,*****!其实没有这么恐怖,爬虫你一般都是采集公开的信息,所以不会像网络传言那样,大家只要遵守协议,不会出问题的。  话说学编程语言的应该都是男孩子哈,所以今天这个大家应该会挺喜欢的吧,毕竟我都喜欢看票了的女孩子,

    2023年04月14日
    浏览(40)
  • 用了这个新一代 AI 搜索引擎,我感觉自己不会被裁了

    大家好,我是木川 一般遇到问题,都会上百度、Google 等网站找答案,最近发现一个牛逼的搜索引擎网站 Devv.ai,使用 AI 做的,非常适合程序员,排查技术相关问题 Devv.ai 是一款新一代的人工智能搜索引擎,专为程序员设计。该网站的目标是提供更快速、准确的编程解决方案

    2024年02月20日
    浏览(49)
  • Jmeter书中不会教你的(67)——JDBC连接

    之前讲过入参数据可以通过引用csv data set config中的变量进行参数化,csv中的文件其实就是数据源,今天再讲一种获取数据方式,可以通过jdbc request直接连接mysql数据库来获取。 在jdbc request之前需要做准备工作:.        数据库连接需要一个驱动,MySQL :: Download MySQL Connector/

    2024年02月06日
    浏览(58)
  • 98%的人都不会使用这6种地图可视化方法,学会直接涨薪5K

    地图作为图表可视化中 存在感最强、效果最酷炫 的一种图表形式,一直深受报表制作者的青睐。可以说,有无地图,会直接影响到大家对报表是否 有档次 的直观感受。 譬如下面两张图: 图一 图二 哪张图更能吸引人的注意力,一目了然。同样是传递信息,图二却显得有些

    2024年02月12日
    浏览(44)
  • Jmeter接口测试实战篇:10分钟学会Jmeter的用法

    一提到接口测试,通常大家会有这样的疑问:前端测试不是已经覆盖到各种业务逻辑了吗?为什么还要做接口测试,接口测试和前端测试是不是重复了?对于这个问题,可以从下面几个方面来解释: 什么是接口测试? 接口测试是测试系统组件间接口的一种测试。接口测试主

    2024年02月20日
    浏览(43)
  • 一秒变成黑客大佬,让妹子对你无法自拔,你只需要学会这个代码

    黑客在我们的印象中,永远只是科幻电影中的情节。不过大家对于黑客的崇拜却是非常高的!尤其是妹子,可以说妹子对于黑客是完全没有抵抗力的,很多陷入热恋中的男生,都想炫耀一下自己的电脑技术,去捕获妹子的芳心。下面小编就向大家介绍一段代码,让你一秒变成

    2024年02月11日
    浏览(41)
  • 电脑正常登录QQ微信,但浏览器无法打开网页,这个你一定要学会!

    电脑能正常登录微信/QQ,但是浏览器无法打开网页的情况时有发生。掌握这三个方法,就能轻松解决问题! 首先 按Win+R , 输入CMD , 回车 输入ping baidu.com , 回车 ▲ 网络正常情况有回复 有【来自xxx的回复:字节=xx……】就说明网络是正常的 ▲ 网络异常情况 如果不通,就

    2024年02月04日
    浏览(78)
  • 10分钟学会Jmeter接口测试

    一提到接口测试,通常大家会有这样的疑问:前端测试不是已经覆盖到各种业务逻辑了吗?为什么还要做接口测试,接口测试和前端测试是不是重复了?对于这个问题,可以从下面几个方面来解释: 什么是接口测试? 接口测试是测试系统组件间接口的一种测试。接口测试主

    2024年02月03日
    浏览(80)
  • 用智能手机拍的模糊照片怎么办?学会这个技巧让它变得清晰

    智能手机的相机功能越来越强大,但有时候我们还是会拍出一些模糊的照片。这可能是因为手抖或者光线不足等原因导致的。但不要担心,有一些简单的技巧可以帮助您将模糊的照片变得更加清晰。 1.稳定手机 拍摄清晰照片的第一步是确保相机保持稳定。拍照时最好使用一个

    2024年02月09日
    浏览(52)
  • 想提升测试效率?这个jmeter开发webserice协议的脚本必备!

    webserivice协议脚本开发的两种方式: HTTP请求 通过soap模板 SOAP/XML-RPC Request(jmeter3.2之后已经不支持) SOAP/XML-RPC Request请求 步骤: 1、测试计划 2、添加线程组 3、添加取样器,SOAP/XML -RPC Request请求 地址:http://www.webxml. com.cn/WebServices/WeatherWebService.asmx? op=getWeatherbyCityNam URL:Wea

    2024年02月21日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包