美文网首页
JMeter MQTT 在订阅与发布测试场景中的使用

JMeter MQTT 在订阅与发布测试场景中的使用

作者: EMQ | 来源:发表于2022-04-25 15:21 被阅读0次

通过之前的文章,相信大家已经熟悉了 JMeter 及 MQTT 插件的使用等基础知识。本文我们将介绍 JMeter MQTT 插件在订阅与发布测试场景中的使用。

订阅、发布场景介绍

发布场景

使用 MQTT Connect 请求模拟设备与 MQTT 服务器(本文以 EMQX 为例)建立连接,随后使用MQTT Pub Sampler 请求模拟设备发布消息到 MQTT Broker,在 MQTT Pub Sampler 后添加固定定时器模拟定时发布消息。

订阅发布场景

使用 MQTT Connect 请求模拟与 MQTT Broker 建立连接,其中订阅者订阅指定主题,发布者发布消息到指定主题。

使用 MQTT 插件编写测试脚本

发布脚本

  1. 在测试计划下创建线程组。

  1. 在线程组下添加仅一次控制器及“MQTT 连接采样器”(即"MQTT Connect")。

  1. 在 MQTT 连接采样器后添加 MQTT Pub Sampler,用于发布消息。

    • QoS Level 为消息级别,支持0、1、2

    • Retained Mesages 为是否保留消息,支持 true、false

    • Topic name 为主题名称

    • Add timestamp in payload 在报文中加入时间戳

    • Message type : String 可填写自定义字符串报文

    • Message type : Hex string 可填写自定义十六进制报文

    • Message type : Randmom string with fixed length 为固定长度随机字符,后面Length为指定长度

  1. 在 MQTT Pub Sampler 下添加“固定定时器”,用于控制发布消息频率。

订阅脚本

  1. 在测试计划下增加线程组。

  1. 在线程组下添加仅一次控制器及“MQTT 连接采样器”(即"MQTT Connect")

  1. 在 MQTT Connect 后添加 MQTT Sub Sampler,模拟订阅消息。

    • Qos Level 消息级别,支持0、1、2

    • Topic name(s) 订阅主题名称,支持+/#通配符共享订阅

    • Payload includes timestamp 报文是否包含时间戳

    • Sample on : specified elapsed time(ms) 按毫秒时间统计订阅到消息

    • Sample on : number of received messages 按次数统计订阅到消息

    • Debug response 调试返回信息,即在察看结果树中显示详细订阅报文

测试的执行

对编写好的脚本进行调试验证,确认 MQTT Broker 的连通性及脚本运行逻辑是否符合预期。

将线程组页面的线程组数分别修改为 50,设置循环次数为 1000,页面点击 Start 按钮执行测试。

查看测试结果,点击“察看结果树”可查看发布及订阅报文内容。

从汇总报告看出 Pub 和 Sub 吞吐量为 161.5/s,50 发布者与 50 订阅者消息数都是 50*1000,即发布订阅吞吐与消息数量都一致。

登录 EMQX Dashboard 页面,显示如下:

本系列中的其它文章

相关文章

  • JMeter MQTT 在订阅与发布测试场景中的使用

    通过之前的文章,相信大家已经熟悉了 JMeter 及 MQTT 插件的使用等基础知识。本文我们将介绍 JMeter...

  • MQTT深入浅出系列(一)

    mqtt介绍与使用 mqtt协议是轻量级的消息订阅和发布(publish/subscribe)协议,建立在TCP/...

  • JMeter MQTT 在连接测试场景中的使用

    通过之前的文章,相信大家已经熟悉了 JMeter 及 MQTT 插件的使用等基础知识。从本文开始,我们利用这些测试...

  • 微信小程序+MQTT+esp8266温湿度

    删帖测试 第一、原理讲解 esp8266 通过mqtt发布消息,微信小程序通过mqtt 订阅消息,小程序订阅后,就...

  • php mtt扩展踩坑总结

    mqtt协议是时下比较好用的发布/订阅模式协议。但是在具体使用的过程中,使用PHP的mqtt扩展会遇到一些奇葩问题...

  • jmeter线程组内的多个接口如何按序执行

    一、jmeter压力测试场景 测试人员在使用jmeter对一个场景进行压力测试,在一个线程组内有多个接口时,测试人...

  • MQTT 服务器介绍

    MQTT 发布订阅模式简述 MQTT 是基于 发布(Publish)/订阅(Subscribe) 模式来进行通信及...

  • jmeter下载MQTT相关插件

    前两年用过MQTT相关插件,结果今天想做mqtt测试在网上找了半天没看到相关插件, 在jmeter自带的应用市场中...

  • MQTT协议简单实践

    MQTT协议简单实践 基于OneNet平台实现MQTT设备的消息上传与发布、订阅。 第一步: 在OneNet上注册...

  • MQTT协议简单实践

    MQTT协议简单实践 基于OneNet平台实现MQTT设备的消息上传与发布、订阅 第一步:在OneNet上注册账号...

网友评论

      本文标题:JMeter MQTT 在订阅与发布测试场景中的使用

      本文链接:https://www.haomeiwen.com/subject/pbwfyrtx.html