前言
物联网正在以爆炸式的增长势头飞速发展。随着设施规模的一直增长和业务逻辑的愈发简单,物联网平台在正式上线前,须要通过对平台大量接入设施时的可用性和可靠性进行验证以确保零碎品质。物联网性能测试的价值与必要性因而逐步凸显。
一方面,性能测试为评估物联网零碎提供根据,从设计指标、可扩展性和可靠性多个维度加以验证;另一方面,性能测试也有助于物联网零碎的优化,帮忙及早发现零碎性能瓶颈,提供调优倡议。此外,性能测试还能够辅助容量打算的制订,为将来扩容打算提供参考。
而物联网零碎接入设施量大、协定多样化、集成架构简单、跨部门开发合作频繁这些特点,也使物联网性能测试面临着重重挑战。 本系列文章将以基于 EMQ X 的物联网平台为例,介绍如何使用性能测试工具进行平台相干质量指标的验证与测试。
测试工具的抉择——JMeter 简介
咱们抉择 JMeter 作为本次的测试工具。
JMeter 是 Apache 基金会旗下一款开源软件,次要通过模仿并发负载来实现性能测试,是目前开源社区的支流性能测试工具。其次要具备以下劣势:
- 内置多种协定的测试反对,如 TCP、HTTP/HTTPS 等。
- 提供灵便的插件扩大机制,反对第三方扩大其余的协定。对于物联网零碎中品种繁多的协定,只需按 JMeter 的框架要求定制开发所需协定业务逻辑,就能不便地放入 JMeter 的插件库,应用 JMeter 既有性能进行该协定的性能测试。
- 具备良好的社区反对。
JMeter 的装置
目前 JMeter 最新稳固版本是 5.4.1,因为 JMeter 是基于 Java 的,5.4.1 版本的 JMeter 须要事后装置 Java 8 及以上的反对(可从以下地址获取:https://www.oracle.com/java/t…)。
装置完 Java 后,从官网下载 JMeter:https://jmeter.apache.org/dow…。
下载实现后解压,并进入解压后目录下的 bin 子目录。依据操作系统的不同,运行 jmeter.bat(Windows 零碎)或 jmeter(Unix 零碎)。如果一切顺利,JMeter 的脚本编辑界面将会出现在您的背后:
接下来,咱们以 HTTP 为例,看一下如何应用 JMeter 来构建并运行一个简略的测试用例。
-
增加虚构用户组(Thread Group):右击测试计划 > 增加 > 线程(用户)> 线程组
JMeter 应用单个线程来模仿一个用户,用户组 Thread Group 就是指一组用户,作为模仿拜访被测系统的虚构用户组。
「线程属性」中的「线程数」可用于配置虚构用户组的并发用户数,数值越高,并发量越大;「循环次数」可用于配置每个虚构用户执行多少次的测试。
-
增加被测 HTTP 页面:右击线程组 > 增加 > 取样器 > HTTP 申请
示例测试脚本中咱们只应用默认的 HTTP 申请设置,对 bing 网站发动 HTTP 申请,您能够依据理论状况进行相干的配置。
-
增加后果监听器:右击线程组 > 增加 > 监听器 > 观察后果树
监听器在理论运行性能测试中并不是必须的,但在编写脚本的过程中能够帮忙直观看到测试后果,不便调试。在这个样例脚本中咱们将应用「观察后果树」来帮忙查看申请的响应信息。
-
运行测试。
保留测试脚本后,点击操作栏中的「启动」按钮,就开始运行测试脚本了。倡议线程组中的线程数和循环次数设置得小一些(比方 10 以内),免得被 ban。
以上,咱们就实现了一个简略的 HTTP 测试脚本。大家能够触类旁通,试试其余协定的测试。下一篇文章中,咱们将更具体地介绍 JMeter 的各种测试元件,配合应用就能构建更简单的测试场景。