转:基于Jmeter的MQTT测试插件
1. Jmeter插件简介
Apache JMeter是Apache组织开发的基于Java的压力测试工具。下载
用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。
这里我们主要使用的基于Jmeter开发的,测试MQTT协议的插件工具,从github上找到了几个歪果人写的插件,主要有以下几个:
这3个插件都很像,
第1个下载的最多,但是我在使用发现存在bug,弃之。
第2个功能比较简单,只能满足简单的单主题发送。
第3个是作者基于第1个来改的,并且把连接MQTT的客户端换成了最常用的paho java客户端,正好是我项目中使用的,熟悉,功能上虽然没有第1个丰富,但是有源码,改改还是可以适用的。
2. mqttws源码打包
下载解压之后,导入到eclipse中,项目是通过maven构建,如图:
插件的效果图:
下面是具体的构建方法:
在项目上点击右键,Run As
->Maven clean
->Maven install
,在target
目录下,将生产一个名为mqttws-jmeter.jar
的jar包。
将mqttws-jmeter.jar
复制到Jmeter的\lib\ext
目录下,再将工程ressource
目录下的messages.properties
文件中相关MQTT的内容复制至Jmeter的\lib\ext
目录下ApacheJMeter_core.jar
中,
使用解压缩工具打开,路径:ApacheJMeter_core.jar\org\apache\jmeter\resources
注意原作者给出的messages.properties
中包含的键值并不全,比如:
mqtt_clean_session= Clean Session
mqtt_publisher=MQTT Publisher
mqtt_itertions=Number of samples to aggregate
mqtt_connection_timeout=Milliseconds to wait for connection
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
此处没有全部列出来,请自行添加吧。
3. 插件使用
- 添加线程组:添加->Threads(Users)->线程组
Ramp-Up Period(in seconds)
:设置的虚拟用户数需要多长时间全部启动。如果线程数为20 ,准备时长为10 ,那么需要10秒钟启动20个线程。也就是每秒
钟启动2个线程。如果设置0,为同时启动。 - 添加发布端:线程组右键,添加->Sampler->MQTT Publisher
Provider URL
:MQTT服务器地址
List Topic
:发布的主题。虽然这里写的是list,但是作者并不支持,后面会讲修改了一下源码,支持多主题发布
Number of samples to aggregate
:一个线程发布相同消息的次数
throttle
:连续发送的消息之间,等待的毫秒数 - 添加监听器
图像,表格都行
转:基于Jmeter的MQTT测试插件的更多相关文章
- JMeter 阶梯式加压测试插件 Concurrency Thread Group
jmeter阶梯式加压测试:JMeter 阶梯式加压测试插件 Stepping Thread Group 由于Stepping Thread Group插件相对来说过于老旧,已不被官方所推荐. 所以这 ...
- JMeter 阶梯式加压测试插件 Stepping Thread Group
在日常性能测试过程中,有时需要对被测对象不断的增加压力,直至达到某个值后,并持续运行一段时间.这里将借助jmeter插件模拟这种情况. 本文介绍在jmeter中,使用插件Stepping Thread ...
- 基于Jmeter的轻量级接口压力测试(一)
一.操作步骤: 1.在测试计划下新增一个线程组,并在线程组下新增一个http请求: 2.读取配置文件中的参数:在添加的http请求下添加配置元件-CSV DATA SET CONFIG 3.配置待测试 ...
- 使用JMeter进行负载测试——终极指南
这篇教程讨论的是JMeter,它是一款基于Java的.集合了几个应用程序.具有特定用途的负载和性能测试工具. 本篇主要涉及的内容: 解释一下JMeter的用途 JMeter的实现方式以及采用的技术 安 ...
- 基于Jmeter+maven+Jenkins构建性能自动化测试平台
一.目的: 为能够将相关系统性能测试做为常规化测试任务执行,且可自动无人值守定时执行并输出性能测试结果报告及统计数据,因此基于Jmeter+maven+Jenkins构建了一套性能自动化测试平台 ...
- 基于Jmeter和Testlink的自动化测试框架研究与实施
关于测试框架搭建的详细过程,会在另一篇文章中详细介绍:http://www.cnblogs.com/leeboke/p/6145977.html 摘 要 目前基于Jmeter的接口自动化测试框架,大多 ...
- 基于Jmeter跟Jenkins的自动化性能测试的一站式解决方案(转)
www.MyException.Cn 网友分享于:2015-08-26 浏览:0次 基于Jmeter和Jenkins的自动化性能测试的一站式解决方案 作者: Yu, Qingguo Shen, ...
- 【转】使用JMeter进行负载测试——终极指南
使用JMeter进行负载测试——终极指南 这篇教程讨论的是JMeter,它是一款基于Java的.集合了几个应用程序.具有特定用途的负载和性能测试工具. 本篇主要涉及的内容: 解释一下JMeter的用途 ...
- [软件测试基础3]基于Jemter的压力测试
一.整体目标 安装LAMP待测系统,推荐ECShop,基于此进行Jmeter压力测试,并在测试后得出Jmeter测试报告,并根据sysstat得出Linux服务器的CIMN(CPU,IO,Memory ...
随机推荐
- day 51 js-2 函数,对象,正则 (定时器示例)
本文转载自cnblogs.liwenzhou-----哪吒博客 先来一个定时器让我们看看函数的效果: <script src="/js/jquery-3.2.1.min.js" ...
- Could not find result map XXX 解决办法
错误定位在xml文件中 resultmap类型不匹配
- Idea中在代码顶部添加自定义作者和时间
一.在工具栏找到File=>settings=>Editor=>File and Code Templates 二.选择右边的File Header,在编辑框中添加自定义信息,例如: ...
- HDU 4185 Oil Skimming 【最大匹配】
<题目链接> 题目大意: 给你一张图,图中有 '*' , '.' 两点,现在每次覆盖相邻的两个 '#' ,问最多能够覆盖几次. 解题分析: 无向图二分匹配的模板题,每个'#'点与周围四个方 ...
- 牛客练习赛 26 C题 城市规划【贪心】
<题目链接> 题目描述 小a的国家里有n个城市,其中第i和第i - 1个城市之间有无向道路连接,特殊的,第1个城市仅与第2个城市相连为了减轻道路维护负担,城市规划局局长MXT给出了m个要求 ...
- anaconda源配置
1. 生成配置文件 第一次运行 conda config命令时,将会在用户的home目录创建该文件..condarc配置文件,是一种可选的(optional)运行期配置文件,其默认情况下是不存在的. ...
- linux 硬盘分区与格式化挂载
1. 硬件设备与文件名的对应关系(详见linux系统管理P297)1) 掌握在Linux系统中,每个设备都被当初一个文件来对待.2) 掌握各种设备在Linux中的文件名 2. 硬盘的结构及硬盘分区(详 ...
- Goodbye Wuxu.B.新年的Dog划分(交互 二分 二分图)
题目链接 官方题解写得很详细,我竟然看懂了. Subtask1: 暴力的话,猜可以\(2^n\)枚举点集\(A,B\),将除了\(A,B\)之间的边全部删掉,然后询问.一定有至少一组\(A,B\)返回 ...
- BZOJ.1178.[APIO2009]会议中心(贪心 倍增)
BZOJ 洛谷 \(Description\) 给定\(n\)个区间\([L_i,R_i]\),要选出尽量多的区间,并满足它们互不相交.求最多能选出多少个的区间以及字典序最小的方案. \(n\leq2 ...
- Java笔记(三)异常
异常 一.概念 一)为什么会有Java异常机制 在没有Java异常机制的情况下,唯一的退出机制就是返回值,判断是否异常的方法就是 返回值.方法根据是否异常返回不同的返回值,调用者根据不同的返回值进行判 ...