Jmeter 压测 ws(s)

本文涉及的产品
性能测试 PTS,5000VUM额度
简介:   上一篇Jmeter压测http(s)介绍了如何使用Jmeter压测常规的web服务接口。本文将继续演示如何使用Jmeter对ws(s)进行压力测试。  有过Socket相关开发经验的人应该都不会陌生,ws协议就是WebSocket协议,而wss对应就是在SSL上运行的WebSocket协议。

  上一篇Jmeter压测http(s)介绍了如何使用Jmeter压测常规的web服务接口。本文将继续演示如何使用Jmeter对ws(s)进行压力测试。

  有过Socket相关开发经验的人应该都不会陌生,ws协议就是WebSocket协议,而wss对应就是在SSL上运行的WebSocket协议。有关WebSocket的知识,这里不做过多说明,有兴趣可以看看本人写的另外一篇文章:记录一次迁移wss WebSocket的事故

配置环境

  由于JMeter需要添加几个扩展Jar包后方可支持ws测试,所以我们需要配置相关的测试环境,以下是这些jar包的下载地址。

WebSocket Sampler jars
WebSocket Sampler jars

  将下载好的Jar包放到JMeter的lib\ext目录下即可。

ws测试

  启动Jmeter后,右键依次选择 “测试计划” -> “添加” -> “Threads(Users)” -> “线程组” -> “Sampler” -> “WebSocket Sampler”。

WebSocket Sampler
WebSocket Sampler
WebSocket Sampler
WebSocket Sampler

选项说明:

    1. WebServer
    • Server Name or IP:目标WebSocket服务器所在地址或名称
    • Port Number:WebSocket 服务监听端口(http和ws一般是80端口,https和wss一般是433端口)
    1. Timeout(单位:毫秒)
    • Connection:连接等待完成的最长时间
    • Response:消息响应的最大等待时间
    1. WebSocket Request
    • Implementation:目前仅支持RFC6455(v13) ,这也是最新版的WebSocket协议标准
    • Protocol:WebSocket标识,ws或者wss
    • Streaming Connection:用于TCP会话是否需要保持。如果勾上表示连接会一直存在,否则在第一次响应后该连接就会被关闭
    • Request data:请求要发送的数据
    • Path:WebSocket端点路径

  为了方便,下面以一个在线的WebSocket网站来开展测试。分别在Server Name or IP一栏中输入:echo.websocket.org,在Request data一栏中输入:Send test。启动测试计划,得到如下响应结果。

察看结果树响应
察看结果树响应
聚合报告响应
聚合报告响应

wss测试

  相比于ws测试,wss的测试也仅需修改两处地方。分别将Port Number修改为:443,以及将Protocol修改为:wss。启动测试计划后,我们同样可以得到系统的正常响应。

写在最后

  结合“函数助手”或者“CVS数据文件”的方式,我们同样可以模拟实现不同的用户,发送不同的请求参数。有关于JMeter的内容到这就告一段落了,后续如果还有其它的补充,我会及时的更新上去。


Jmeter系列

关于Jmeter
Jmeter 压测 http(s)
Jmeter压测 ws(s)

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
1月前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【10月更文挑战第1天】Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
131 3
|
2月前
|
测试技术 数据库 UED
Python 性能测试进阶之路:JMeter 与 Locust 的强强联合,解锁性能极限
【9月更文挑战第9天】在数字化时代,确保软件系统在高并发场景下的稳定性至关重要。Python 为此提供了丰富的性能测试工具,如 JMeter 和 Locust。JMeter 可模拟复杂请求场景,而 Locust 则能更灵活地模拟真实用户行为。结合两者优势,可全面评估系统性能并优化瓶颈。例如,在电商网站促销期间,通过 JMeter 模拟大量登录请求并用 Locust 模拟用户浏览和购物行为,可有效识别并解决性能问题,从而提升系统稳定性和用户体验。这种组合为性能测试开辟了新道路,助力应对复杂挑战。
109 2
|
3月前
|
测试技术 持续交付 Apache
深度挖掘:Python性能测试中JMeter与Locust的隐藏技能🔍
【8月更文挑战第5天】随着软件规模扩大,性能测试对系统稳定性至关重要。Apache JMeter和Locust是两大主流工具,各有千秋。本文探索它们在Python环境下的进阶用法,挖掘更多性能测试潜力。JMeter功能强大,支持多种协议,可通过命令行模式执行复杂测试计划,并与Python集成实现动态测试数据生成。Locust基于Python,通过编写简洁脚本模拟HTTP请求,支持自定义请求及与Python库深度集成。掌握这些技巧可实现高度定制化测试场景,有效识别性能瓶颈,提升应用稳定性。
128 1
|
3月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【8月更文挑战第5天】性能测试确保应用高负载下稳定运行。Apache JMeter与Locust是两大利器,助力识别解决性能瓶颈。本文介绍这两款工具的应用与优化技巧,并通过实战示例展示性能测试流程。首先,通过JMeter测试静态与动态资源;接着,利用Locust的Python脚本模拟HTTP请求。文中提供安装指南、命令行运行示例与性能优化建议,帮助读者掌握性能测试核心技能。
129 0
|
15天前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
41 3
|
14天前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
31 1
|
2月前
|
缓存 Java 测试技术
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
使用JMeter对项目各个接口进行压力测试,并对前端进行动静分离优化,优化三级分类查询接口的性能
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
|
1月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【10月更文挑战第1天】告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
61 4
|
2月前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【9月更文挑战第10天】随着软件应用的不断扩展,性能测试成为确保系统稳定运行的关键环节。本文通过对比Apache JMeter和Locust,探讨了如何在Python环境中利用这两款工具挖掘更多性能测试潜力。JMeter是一款成熟且功能强大的开源工具,支持多种协议,适用于各种应用的测试;而Locust则基于Python,通过简单脚本模拟HTTP请求,更适合Web应用测试。
93 3
|
2月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【9月更文挑战第5天】性能测试是确保应用在高负载下稳定运行的关键。本文介绍Apache JMeter和Locust两款常用性能测试工具,帮助识别并解决性能瓶颈。JMeter适用于测试静态和动态资源,而Locust则通过Python脚本模拟HTTP请求。文章详细讲解了安装、配置及使用方法,并提供了实战案例,帮助你掌握性能测试技巧,提升应用性能。通过分析测试结果、模拟并发、检查资源使用情况及代码优化,确保应用在高并发环境下表现优异。
76 5