一文1400字Jmeter实现mqtt协议压力测试

news2024/11/25 3:33:58

1. 下载jmeter,解压

https://jmeter.apache.org/download_jmeter.cgi

以 5.4.3 为例,下载地址:

https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.4.3.zip

linux下解压: 

unzip apache-jmeter-5.4.3.zip

2. 下载mqtt-jmeter插件

下载地址:

https://github.com/emqx/mqtt-jmeter/releases

https://github.com/emqx/mqtt-jmeter/releases/download/v2.0.2/mqtt-xmeter-2.0.2-jar-with-dependencies.jar

3. 将插件放置于jmeter的lib/ext目录下

windows/linux同样操作

4. 本文先在windows下生成的jmx脚本,然后传至linux下使用

新建两个线程组

  • 第一个仅包含一个 MQTT DisConnect,执行一次

  • 第二个里面包含具体的压测,开启1000个线程,1s内将线程创建完毕,无限循环。创建两个计数器,pub_counter用来技术发布消息数,thread_counter用来线程计数

事先创建1000个设备,名称为cosmoiottest000001 - cosmoiottest000001000(可自己定义)。添加一次性控制器(mqtt连接一次,后续pub消息),写上配置信息。

添加循环控制器,循环一次。包含固定定时器,休眠1000ms,一个发布MQTT Pub Sampler,即每个线程进来执行一次发布消息然后休眠1000ms进入下一次循环。每个消息包含100个点位(根据自己需要设置),每个点位随机生成一个整数。

添加观察结果树、汇总报告、聚合报告等,可在windows下面查看结果

配置截图如下:

  • 循环执行线程

  • pub_counter计数器 

  • thread_counter计数器

  • mqtt connect设置:

  • MQTT发布消息:

5. linux压测命令:(需要先将bin/jmeter添加可执行权限)

 
  1. chmod +x bin/jmeter

  2. ./bin/jmeter -n -t mqtt_test.jmx -l result.jtl

6. 将结果jtl生成可视化报告,放置于result目录

 
  1. mkdir result

  2. ./bin/jmeter -g result.jtl -o result

将结果目录拉下来,点开即可查看图形化结果

注意可能遇到问题:

  • 执行jmeter压测后,进程不退出,编辑 jmeter.properties,打开配置

jmeterengine.force.system.exit=true
  • jmx文件传到linux后可能出错,建议英文环境下生成jmx文件,语言控制jmeter.properties

#language=en (默认英文,切换为中文为:zh_CN)
  • mqtt-jmeter 的jar包需要传至lib/ext目录,否则不可用

    生成报告时报错:

Consumer failed with message :Begin size 0 is not equal to fixed size 5

将jdk换成8版本

  • jtl结果文件,也可拉到windows,使用jmeter直接查看,新建线程组->聚合报告,选择jtl文件

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

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2100902.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在 Github 上找到心仪的开源项目?

Github,全球最大的开源社区,集中了目前最多、最优质的各种开源代码。 我们经常说不要重复造轮子,但如果不知道怎么找到已有的轮子,那就没有前提,对自己来说什么轮子都是新的。所以,搞开发,首先要…

Opencv中的直方图(5)计算EMD距离的函数EMD()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算两个加权点配置之间的“最小工作量”距离。 该函数计算地球搬运工距离(Earth Mover’s Distance)和/或两个加权点配…

微电网管理系统

微电网管理系统 1. 相关概念简介 基本概念及分析意义: 微电网基本概念:微电网(MG)由分布式电源、用电负荷、能量管理系统等组成,是一个能够基本实现内部电力电量平衡的供用电系统。 通过整合分布式电源、储能、负荷…

libusb在window下,使用vsstudio的初步安装与使用

下载: 首先,访问github官网 https://github.com/libusb/libusb/tree/master 然后,在版本选择里面,选择标签,点击最新的标签,(这种一般稳定性最高) 选择完后使用自己的方式下载下来…

双轨直销模式:团队互助与业绩倍增的商业策略

双轨直销模式因其操作简单、业绩压力较小、管理方便以及初期爆发力强等特点,受到许多直销公司的喜爱,并促进了多家大型企业的成长。 一、双轨直销模式简介 双轨直销是一种独特的组织架构,其核心在于每个销售代表仅需构建两个独立的销售线&a…

MiniMax 首个文生视频模型发布,可生成 6s,限时免费;阿里 Qwen2-VL 第二代视觉语言模型开源丨RTE 开发者日报

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、…

第七在线携手美国男士内衣品牌Tommy John,共启智能订货新篇章

【喜讯速递】在数字化转型的浪潮中,7thonline第七在线再次以卓越的技术实力和前瞻性的市场洞察,成功签约国际知名男士内衣品牌Tommy John,双方将携手推进智能订货会计划,共同开启零售供应链管理的新纪元。 男士内衣品牌Tommy John…

智慧水利解决方案应该部署哪些设备(近距离走进智慧水利解决方案)

作为一名水利工程技术人员,我深知智慧水利解决方案对于现代水资源管理的重要性。在我多年的工作经验中,我见证了传统水利系统向智能化转变的过程,也深刻理解了部署正确的设备对于实现智慧水利的关键作用。今天,我想分享一下在智慧…

android AccessibilityService合法合规增加小红书曝光阅读量(2024-09-02)

免责任声明: 任何可操作性的内容与本人无关,文章内容仅供参考学习,如有侵权损害贵公司利益,请联系作者,会立刻马上进行删除。 一、分析 目前可增加曝光阅读流量渠道入口(完成) 1. 发现页 打开小红书app选择顶部发现页&…

Python和MATLAB(Java)及Arduino和Raspberry Pi(树莓派)点扩展函数导图

🎯要点 反卷积显微镜图像算法微珠图像获取显微镜分辨率基于像素、小形状、高斯混合等全视野建模基于探测器像素经验建模荧光成像算法模型傅里叶方法计算矢量点扩展函数模型天文空间成像重建二维高斯拟合天体图像伽马射线能量和视场中心偏移角标量矢量模型盲解卷积和…

三、数组————相关概念详解

数组 前言一、数据理论基础二、数组常用操作2.1 初始化数组2.2 访问数组中的元素2.3 插入元素2.4 删除元素 三、数组扩展3.1 遍历数组3.2 数组扩容 总结1、数组的优点2、数组的不足 前言 在数据结构中,数组可以算得上最基本的数据结构。数组可以用于实现栈、队列、…

中资优配:炒股最笨十句口诀?

在出资股票时,出资者假设掌握一些方法技巧等,可以协助出资者更好地在股市进行生意,下面为我们介绍炒股十大口诀。 1、不跳水不买,不冲高不卖,横盘不生意 不要在股价跳水时急速买入,也不要在股价一开始冲高…

薛定谔的空气墙?一文带你了解其背后的技术原理

封面图 悟空来了都得撞墙? 目前,被称作“村里第一个大学生”的国产3A游戏《黑神话:悟空》发售已经有一段时间了,游戏采用虚幻引擎4技术,仿佛将传统与现代的界限模糊,玩家游玩时沉浸感极强。然而&#xff…

C# 窗口页面布局

1.Groupbox 单机鼠标右键,置于底层 2.Label 在右方属性中修改名称 3.ComboBox 点击属性中的集合,可以添加选择项 4.CheckBox 在属性中修改名称 5.RichTextBox 富文本 在属性中修改名称与区域 6.StatusStrip 状态栏 将AutoSize改成false就可以修改…

带你速通C语言——结构体(18)

结构体是 C 语言中用于创建复杂数据类型的关键工具。它们允许将多个变量(可能是不同类型的)组合成一个单一的实体,这对于组织和处理数据非常有用。这使得结构体成为数据库记录、配置设置、复杂数据交换等应用的理想选择。 1.定义结构体 结构…

NX二次开发——基础

1.打开信息窗口并写入 UC1601是将想显示的内容显示在一个UI消息框中,或者是状态栏,如果内容很多的时候,就不适合使用UC1601 使用信息窗口,相关命令:信息->....... 要实现这个功能具有的逻辑,先是要打…

【Kubernetes部署篇】二进制搭建K8s高可用集群1.26.15版本(超详细,可跟做)

文章目录 一、服务器环境信息及部署规划1、K8S服务器信息及网段规划2、服务器部署架构规划3、组件版本信息4、实验架构图 二、初始化环境操作1、关闭防火墙2、配置本地域名解析3、配置服务器时间保持一致4、禁用swap交换分区(K8S强制要求禁用)5、配置主机之间无密码登录6、修改…

ArkUI-状态管理-@Provide、@Consume、@Observed、@ObjectLink

ArkUI-状态管理 Provide装饰器和Consume装饰器:与后代组件双向同步概述观察变化框架行为Provide支持allowOverride参数 Observed装饰器和ObjectLink装饰器:嵌套类对象属性变化概述限制条件观察变化框架行为 Provide装饰器和Consume装饰器:与后…

【python计算机视觉编程——4.照相机模型与增强现实】

python计算机视觉编程——4.照相机模型与增强现实 4.照相机模型与增强现实4.1 真空照相机模型4.1.1 照相机矩阵4.1.2 三维点的投影4.1.3 照相机矩阵的分解4.1.4 计算照相机中心 4.2 照相机标定4.3 以平面和标记物进行姿态估计sift.pyhomography.py主函数homography.pycamera.py…

开源 AI 智能名片 O2O 商城小程序在营销中的应用

摘要:本文探讨了开源 AI 智能名片 O2O 商城小程序在营销中的应用,重点分析了喜好原则、互惠互利和高度认可三个方面对小程序推广和用户忠诚度提升的重要性。通过融入这些原则,开源 AI 智能名片 O2O 商城小程序能够更好地满足用户需求&#xf…