环境准备:

jmeter插件下载:
mqttxmeter1.0.1jarwithdependencies.jar

把MQTT插件放在 %JMeter_Home%/lib/ext下。重启jmeter.

MQTT连接。

Server name or IP: 被测MQTT服务器地址。
Port number: TCP连接的端口1883, SSL连接则是8883。
Timeout(s): 连接超时设置,以秒为单位。
user name: 连接MQTT的帐户名。
password: 连接MQTT的密码。(具体询问开发)

ClientId: 客户端标识,具体询问开发被模拟的客户端标识(注意一个标识快速连接多次会连接失败,并发记得参数化(经验))。
Keep alive(s): 心跳信号发送间隔。例如,300表示客户端每隔300秒向服务器发出ping请求,以保持连接活跃。(注意,不正常disconnect,连接还会继续保持。除非关掉jmeter. 正常mqtt disconnect请无视。)
Connect attempt max: 第一次连接失败后,尝试重连的最大次数。超过该次数则认为连接失败。
Reconnect attempt max: 后续连接过程中连接失败后,尝试重连的最大次数。超过该次数则认为连接失败。
好了,连接上就可以进行消息发布了。


MQTT发布

QoS Level: 服务质量,取值为0,1,2,分别代表MQTT协议规范里的至多一次(AT_MOST_ONCE),至少一次(AT_LEAST_ONCE),精确一次(EXACTLY_ONCE)(网上COPY,具体我就用了0,用1 2发送失败。)
Topic name: 做为发布方,把消息发布到所属的话题中。
Add timestamp in payload: 如果勾选,发布的消息体开头会附带当前时间戳,利用它可以在消息接收端计算消息达到的延时。不勾选则只发送实际的消息体。

  1. Message type: 目前支持三种消息类(我只用了String,其它请看网上的其它介绍。)

    1. String: 普通字符串 (如上面截图所示,你要发送的消息。具体上报什么,可找开发要相关json等。)
    2. Hex String: 以16进制数值表示的串,比如字符串Hello, 可以表示为48656C6C6F (其中,48在ascii表中对应字母H,依次类推)。通常16进制串用来构造非文本的消息体,例如描述某些私有的协议交互和控制信息等等。
    3. Random string with fixed length*: 按指定长度生成随机的串作为消息体。

此时消息发送成功了。


消息订阅


topic name(s): 想要订阅的主题。(可以订阅多个)多个主题以英文逗号分隔。
Sample on:

  1. specified elapsed time(ms): 订阅的主题每多少毫秒作为一个结果展示(个人理解)。在这些毫秒内所收到的消息全部展示在一个结果内。
  2. number of received messages: 每收到多少个消息作为一个结果展示(个人理解)。

断开连接



注意:主动支行MQTT DisConnect可以断开。若测试过程中手动停止,致使线程未运行DisConnect,则连接不会断开。(已经过验证。)

测试过程中遇到的问题:

  1. MQTT连接数未修改。连接到1W报错连接失败。
  2. 修改MQTT连接数后,成功并发到5W,后续还会再进行测试。

MQTT消息队列压力测试的更多相关文章

  1. Linux进程通信之System V消息队列

    System V消息队列是Open Group定义的XSI,不属于POSIX标准.System V IPC的历史相对很早,在上个世70年代后期有贝尔实验室的分支机构开发,80年代加入System V的 ...

  2. Linux进程间通信(消息队列/信号量+共享内存)

    写在前面 不得不说,Deadline果真是第一生产力.不过做出来的东西真的是不堪入目,于是又花了一早上重写代码. 实验内容 进程通信的邮箱方式由操作系统提供形如 send()和 receive()的系 ...

  3. Kafka压力测试(自带测试脚本)(单机版)

    一.测试目的 本次性能测试在正式环境下单台服务器上Kafka处理MQ消息能力进行压力测试.测试包括对Kafka写入MQ消息和消费MQ消息进行压力测试,根据10w.100w和1000w级别的消息处理结果 ...

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

    基于Jmeter的MQTT测试插件-上 1. Jmeter插件简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具.下载 用于对软件做压力测试,它最初被设计用于Web应用 ...

  5. laravel+Redis简单实现队列通过压力测试的高并发处理

    秒杀活动 在一般的网络商城中我们会经常接触到一些高并发的业务状况,例如我们常见的秒杀抢购等活动, 在这些业务中我们经常需要处理一些关于请求信息过滤以及商品库存的问题. 在请求中比较常见的状况是同一用户 ...

  6. 【Microsoft Azure学习之旅】测试消息队列(Service Bus Queue)是否会丢消息

    组里最近遇到一个问题,微软的Azure Service Bus Queue是否可靠?是否会出现丢失消息的情况? 具体缘由如下, 由于开发的产品是SaaS产品,为防止消息丢失,跨Module消息传递使用 ...

  7. 消息队列&Celery&RabbitMQ&zeromq

    一.消息队列 什么是消息队列? “消息队列”是在消息的传输过程中保存消息的容器. “消息”是在两台计算机间传送的数据单位.消息可以非常简单,例如只包含文本字符串:也可以更复杂,可能包含嵌入对象. 消息 ...

  8. C#分布式消息队列 EQueue 2.0 发布啦

    前言 最近花了我几个月的业余时间,对EQueue做了一个重大的改造,消息持久化采用本地写文件的方式.到现在为止,总算完成了,所以第一时间写文章分享给大家这段时间我所积累的一些成果. EQueue开源地 ...

  9. kafka性能参数和压力测试揭秘

    转自:http://blog.csdn.net/stark_summer/article/details/50203133 上一篇文章介绍了Kafka在设计上是如何来保证高时效.大吞吐量的,主要的内容 ...

随机推荐

  1. ugui 自定义字体

    Unity/UI —— 使用字符图片自定义字体(Custom Font) ---[佳] https://blog.csdn.net/qq_28849871/article/details/777190 ...

  2. Django:给requests发送请求功能 套一层衣服。

    个人的疑问

  3. Mac Item2自动远程连接服务器

    Mac Item2自动远程连接服务器 1.编写脚本 vi test #!/usr/bin/expect set PORT 端口 set HOST ip set USER root set PASSWO ...

  4. 零基础一分钟入门Python

    这篇文章面向所有想学python的小伙伴(甚至你从没听过编程),这篇文章将会带你以最快的速度入门python.赶快上车,时间来不及了... 一,下载和安装python 1.下载: 1.1 python ...

  5. 关于Java代理那些事儿

    代理是啥?就是代替你执行你持有的主要功能,并且能在你的基础之上完成一些其他的功能.代理的目的就是生成一个和原对象具有同样功能的对象.在Java中,代理是一种设计模式.在Spring的面向切面编程(AO ...

  6. [LeetCode] 448. 找到所有数组中消失的数字(思维)

    题目 给定一个范围在  1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次. 找到所有在 [1, n] 范围之间没有出现在数组中的数字. 您 ...

  7. asp.net中的日志添加和未处理异常的记录

    1.第一次写博客如有错误欢迎纠正.邮箱:Jiangwenyuan0217@163.com: 2.此博客可能对初学者有些帮助,对哪些骨灰级的程序员来说都是分分钟的事了,所以就不用在这里费时间了. 环境说 ...

  8. 解决ExcelReport导出Excel报Number of rules must not exceed 3错误的问题

    报错信息: Number of rules must not exceed 3 [ArgumentException: Number of rules must not exceed 3] NPOI. ...

  9. 格式化时间戳的n种方法

    1 var time = new Date(ele.time).toLocaleString().split(' ')[0] 2 formatDate: function (value) { let ...

  10. 1500多套微信小程序带后端源码-史上最全的不同行业的源码集合

    如何下载获取在最后面! 部分源码 部分源码 部分源码 部分截图 o2o行业 | - 盒马鲜生 | - 轻客洗衣 互联网行业 | - 云文档 | - 仿ofo共享单车 | - 仿美团外卖 | - 仿饿了 ...