乐趣区

关于物联网:JMeter-MQTT-在订阅与发布测试场景中的使用

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

订阅、公布场景介绍

公布场景

应用 MQTT Connect 申请模仿设施与 MQTT 服务器(本文以 EMQX 为例)建设连贯,随后应用 MQTT Pub Sampler 申请模仿设施公布音讯到 MQTT Broker,在 MQTT Pub Sampler 后增加固定定时器模仿定时公布音讯。

订阅公布场景

应用 MQTT Connect 申请模仿与 MQTT Broker 建设连贯,其中订阅者订阅指定主题,发布者公布音讯到指定主题。

应用 MQTT 插件编写测试脚本

公布脚本

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

  2. 在线程组下增加仅一次控制器及“MQTT 连贯采样器”(即 ”MQTT Connect”)。

  3. 在 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 为指定长度

  4. 在 MQTT Pub Sampler 下增加“固定定时器”,用于管制公布音讯频率。

订阅脚本

  1. 在测试计划下减少线程组。

  2. 在线程组下增加仅一次控制器及“MQTT 连贯采样器”(即 ”MQTT Connect”)

  3. 在 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 介绍 – 物联网大并发测试实战 01
  • JMeter 测试组件介绍 – 物联网大并发测试实战 02
  • 如何在 JMeter 中应用 MQTT 插件 – 物联网大并发测试实战 03
  • JMeter MQTT 在连贯测试场景中的应用 – 物联网大并发测试实战 04

版权申明:本文为 EMQ 原创,转载请注明出处。

原文链接:https://www.emqx.com/zh/blog/the-use-of-jmeter-mqtt-in-subscription-and-publishing-test-scenarios

退出移动版