介绍

物联网产业正在爆发式发展。随着终端规模持续增长,业务逻辑日趋复杂,在物联网平台正式上线前,在连接大量设备时,需要验证平台的可用性和可靠性,以保证系统质量。因此,物联网性能测试的价值和必要性逐渐凸显。如果您正在提供服务,那么测试 IoT 系统可以帮助您找到性能瓶颈,并帮助您提前规划可扩展性。

物联网可以由任意数量的不同设备组成,这些设备使用不同的协议串在一起,并具有复杂的集成架构。这可能使为其设计有效且有意义的测试变得具有挑战性。本系列文章将以基于 EMQX 的物联网平台为例,介绍如何使用性能测试工具对平台相关的质量指标进行验证和测试。

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

JMeter简介

JMeter是Apache基金会的开源软件。它主要通过模拟并发负载来实现性能测试,是目前开源社区的主流性能测试工具。它主要具有以下优点:

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

安装 JMeter

JMeter是用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的脚本编辑界面如下所示:

JMeter

JMeter 使用单个线程来模拟用户,线程组将一组用户称为模拟对被测系统的访问的虚拟用户组。

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

JMeter Thread Properties

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

JMeter HTTP request

3. 添加结果侦听器:右键单击线程组>添加>侦听器>查看结果树

监听器对于实际的性能测试不是必需的,但它可以帮助您直观地查看测试结果,并在编写脚本的过程中方便调试。在此示例脚本中,我们将使用「查看结果树」来帮助查看请求的响应信息。

JMeter Add a result listenerJMeter的其他测试组件 ,您可以一起使用它们来构建复杂的测试场景。现在,探索JMeter,看看你可以测试什么。

Comments are closed.