基于Jmeter的MQTT测试插件-上
来源:互联网 发布:linux 用户组权限 编辑:程序博客网 时间:2024/06/05 16:31
1. Jmeter插件简介
Apache JMeter是Apache组织开发的基于Java的压力测试工具。下载
用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。
这里我们主要使用的基于Jmeter开发的,测试MQTT协议的插件工具,从github上找到了几个歪果人写的插件,主要有以下几个:
- tuanhiep/mqtt-jmeter
- hemikak/mqtt-jmeter
- winglet/mqttws-jmeter
这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 Sessionmqtt_publisher=MQTT Publishermqtt_itertions=Number of samples to aggregatemqtt_connection_timeout=Milliseconds to wait for connection
此处没有全部列出来,请自行添加吧。
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测试插件-上
- 运用MQTT-JMeter插件测试MQTT服务器性能
- JMeter 基于Http的测试
- 基于PYQT的MQTT协议测试工具
- 基于Ant的JMeter性能自动化测试
- 基于ant的jmeter自动化性能测试
- 基于ant的jmeter自动化性能测试
- 基于ant的jmeter自动化性能测试
- Jmeter测试AWS上的WebService
- Jmeter开发Sampler测试插件
- 后台压力测试-基于jmeter
- 基于Selenium与JMeter的自动化测试构建
- 使用 Apache JMeter 测试基于云的应用程序
- Jmeter对基于websocket协议的压力测试
- 基于jmeter+sysstat+influxdb+grafana+flume的性能测试平台
- 使用 Apache JMeter 测试基于云的应用程序
- 【idea】基于jmeter的性能测试自动化平台开发
- Jmeter对基于websocket协议的压力测试
- poj --1011
- mac下sublime text3中文乱码问题
- HDU3183A Magic Lamp,和NYOJ最大的数一样
- Linux下的常用终端调试指令(2)
- 浅析HTML5的10大优势
- 基于Jmeter的MQTT测试插件-上
- 感觉自己最近越来越懒了..
- CLS----公共语言规范
- JAVA算法---最大公约数和最小公倍数
- 连号区间数
- 【NOIP2012提高组】开车旅行
- x264代码剖析(十二):核心算法之帧内预测函数x264_mb_analyse_intra()
- gradle的配置
- Linux 下解决pthread_create undefined reference 方法