slot deposit pulsa slot mahjong slot gacor slot gacor slot gacor resmi slot gacor 2025 slot gacor terpercaya slot gacor 2025 slot gacor hari ini slot gacor hari ini slot gacor hari ini
使用开源工具测试您的物联网平台
17611538698
webmaster@21cto.com

使用开源工具测试您的物联网平台

物联网 0 2665 2022-10-31 10:39:11

图片

导读:本文为大家介绍如何使用开源工具来测试物联网平台。

物联网 (IoT) 和边缘计算行业正在快速发展,节点的规模和业务逻辑的复杂性也随之而来。

物联网生态系统发展得越多,验证平台的可用性和可靠性就越加重要。如果您正在进行交付服务,通过测试 IoT 系统可以帮助自己发现性能瓶颈,帮助我们提前规划并具备可扩展性。

物联网是由使用不同协议的、有很多数量的传感设备组成,并与复杂的集成架构串联在一起。这需要一个设计有效且有意义的测试,也变得极具挑战性。

在本文中,我将演示如何使用EMQX测试 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 构建与运行一个简单的 HTTP 测试用例。

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

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

图片

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

图片

JMeter 包括几个示例测试。右键单击Thread Group > Add > Sampler > HTTP Request添加HTTP 请求(HTTP Request)进行测试。

图片

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

图片

其中,结果侦听器不是性能测试所必需的,但它可以让我们查看测试结果。有助于在编写脚本的过程中进行调试。在这个示例脚本中,使用View Result Tree来帮助查看请求后的响应信息。

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

图片

这时候可以运行测试了。

保存测试脚本后,单击顶部工具栏中的开始按钮运行测试脚本。因为正在针对公共网站进行测试,所以请使用少量(低于 10)的线程和循环计数。如果您利用此功能向网站发送垃圾邮件,你将来可能会发现自己被人家屏蔽了!

图片

测试自己的物联网平台

现在,我们已经完成了一个简单的 HTTP 测试脚本。

您可以从这个案例中得出推论并尝试其他协议。在下一篇文章中,我将更详细地介绍 JMeter 的其他测试组件,您可以一起使用它们来构建复杂的测试场景。

现在,一起探索 JMeter 看看还可以测试什么。

作者:尹崇远

简介:EMQ Technologies XMeter 项目负责人,10 年以上测试工具经验。旨在为物联网协议和应用程序提供最好的负载测试服务。重度 Java 用户。

评论