使用开源工具测试您的 IoT 平台

这个使用 EMQX 的 JMeter 演示展示了如何引入性能测试工具来验证和测试平台相关的质量指标。
2 位读者喜欢这篇文章。
Looking at a map

opensource.com

物联网 (IoT) 和 边缘计算 行业正在快速发展,随之而来的是端点的规模和业务逻辑的复杂性。IoT 生态系统增长越多,验证平台的可用性和可靠性就变得越重要。如果您正在提供服务,那么测试您的 IoT 系统可以帮助您找到性能瓶颈,并帮助您提前规划可扩展性。

IoT 可以包含使用各种协议的不同设备的任意数量,并通过复杂的集成架构连接在一起。这使得为其设计有效且有意义的测试具有挑战性。在本文中,我将演示如何使用 EMQX 作为示例来测试 IoT 平台,展示如何引入性能测试工具来验证和测试平台相关的质量指标。

EMQX

EMQX 是一个可扩展的消息(MQTT)代理,用于连接 IoT 设备。它是开源的,但由于它是一个代理,您必须有一个工作节点来管理所有的消息流量。您可以接受其商业源许可证(BSL),并获得 10 个许可证来使用官方的 EMQX 云安装。或者,您可以在您自己的服务器上安装和运行 EMQX

JMeter 简介

JMeter 是 Apache 基金会的开源软件。它主要通过模拟并发负载来实现性能测试,这是开源社区中常见的性能测试方法。它主要有以下优点:

  • 内置支持多种协议,包括 TCP、HTTP、HTTPS 等。
  • 提供灵活的插件扩展机制,并支持第三方扩展其他协议。
  • 强大的社区支持。

安装 JMeter

JMeter 是用 Java 编写的,所以如果尚未安装 Java,则必须安装 Java。对于 Linux、macOS 和 Windows,您可以使用 Adoptium.net。在 Linux 上,您可以选择使用 SDKMan

安装 Java 后,下载 JMeter,解压缩它,然后进入存档目录的 bin 子目录。根据您的操作系统,运行 jmeter(Linux 和 macOS)或 jmeter.bat(Windows)。

$ wget https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-X.Y.tgz
$ tar xvf apache-jmeter*tgz
$ cd apache-jmeter-X.Y/bin
$ ./jmeter

JMeter 的脚本编辑界面将呈现给您

Image of Apache jmeter interface.

(Chongyuan Yin, CC BY-SA 4.0)

您的第一个 JMeter 测试

以下是如何使用 JMeter 构建和运行一个简单的 HTTP 测试用例。

  1. JMeter 使用单个线程来模拟用户。线程组是指虚拟用户组,并模拟对被测系统的访问。

    要添加虚拟用户组(线程组),右键单击 测试计划 > 添加 > 线程(用户) > 线程组

    Image of adding a thread group to Apache.

    (Chongyuan Yin, CC BY-SA 4.0)

    线程数线程属性 中可用于配置虚拟用户组中的并发用户数。值越高,并发量越大。 使用 循环次数 来配置每个虚拟用户执行的测试次数。

    Image of Apache thread properties.

    (Chongyuan Yin, CC BY-SA 4.0)

  2. JMeter 包含几个示例测试。通过右键单击 线程组 > 添加 > 取样器 > HTTP 请求 来添加 HTTP 请求 测试。

    Image of Apache request add.

    (Chongyuan Yin, CC BY-SA 4.0)

    在示例测试脚本中,使用默认的 HTTP 请求设置来发起对网站的 HTTP 请求。

    Set an HTTP request in JMeter.

    (Chongyuan Yin, CC BY-SA 4.0)

  3. 结果监听器对于性能测试来说不是绝对必要的,但它可以让您看到测试结果。这有助于在编写脚本的过程中进行调试。 在这个示例脚本中,使用 查看结果树 来帮助查看请求的响应信息。

    要添加结果监听器,右键单击 线程组 > 添加 > 监听器 > 查看结果树

    Image of Apache view results tree.

    (Chongyuan Yin, CC BY-SA 4.0)

  4. 是时候运行测试了。 保存您的测试脚本后,单击顶部工具栏中的 开始 按钮以运行该脚本。 因为您正在针对公共网站进行测试,请使用少量(少于 10 个)的线程和循环计数。 如果您对该站点进行垃圾信息发送,您可能会在将来被阻止!

    Image of Apache test results.

    (Chongyuan Yin, CC BY-SA 4.0)

测试您的 IoT 平台

您已经完成了一个简单的 HTTP 测试脚本。您可以从此案例中得出推论并尝试其他协议。在下一篇文章中,我将更详细地介绍 JMeter 的其他测试组件,您可以将它们一起用于构建复杂的测试场景。 现在,探索 JMeter 看看您可以测试什么。

Chongyuan
EMQ Technologies 的 XMeter 项目负责人,在测试工具有 10 多年的经验。 旨在为 IoT 协议和应用程序提供最好的负载测试服务。 深度 Java 用户。

评论已关闭。

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© 2025 open-source.net.cn. All rights reserved.