• MQTT压力测试工具之JMeter插件教程


    基于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的libext目录下,再将工程ressource目录下的messages.properties文件中相关MQTT的内容复制至Jmeter的libext目录下ApacheJMeter_core.jar中,

    使用解压缩工具打开,路径:ApacheJMeter_core.jarorgapachejmeter esources

    注意原作者给出的messages.properties中包含的键值并不全,比如:

    1 mqtt_clean_session= Clean Session
    2 mqtt_publisher=MQTT Publisher
    3 mqtt_itertions=Number of samples to aggregate
    4 mqtt_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:连续发送的消息之间,等待的毫秒数
    • 添加监听器 
      图像,表格都行 
      这里写图片描述
     
    本文转自:  清明-心若淡定   https://www.cnblogs.com/saryli/p/6925970.html 
  • 相关阅读:
    Qt类继承关系图
    回归Qt——写在Qt5.10发布之日
    Jdk1.7下的HashMap源码分析
    Jdk1.8下的HashMap源码分析
    八皇后||算法
    设计模式之一单例模式
    多线程之美8一 AbstractQueuedSynchronizer源码分析<二>
    多线程之美7一ReentrantReadWriteLock源码分析
    多线程之美6一CAS与自旋锁
    多线程之美5一 AbstractQueuedSynchronizer源码分析<一>
  • 原文地址:https://www.cnblogs.com/majunBK/p/9518927.html
Copyright © 2020-2023  润新知