开源测试工具|开源测试工具 JMeter 介绍
前言
物联网正在以爆炸式的增长势头飞速发展。随着设备规模的不断增长和业务逻辑的愈发复杂,物联网平台在正式上线前,需要通过对平台大量接入设备时的可用性和可靠性进行验证以确保系统质量。物联网性能测试的价值与必要性因此逐渐凸显。
一方面,性能测试为评估物联网系统提供依据,从设计指标、可扩展性和可靠性多个维度加以验证;另一方面,性能测试也有助于物联网系统的优化,帮助及早发现系统性能瓶颈,提供调优建议。此外,性能测试还可以辅助容量计划的制定,为未来扩容计划提供参考。
而物联网系统接入设备量大、协议多样化、集成架构复杂、跨部门开发协作频繁这些特点,也使物联网性能测试面临着重重挑战。本系列文章将以基于 EMQ X 的物联网平台为例,介绍如何使用性能测试工具进行平台相关质量指标的验证与测试。
测试工具的选择——JMeter 简介
我们选择 JMeter 作为本次的测试工具。
JMeter 是 Apache 基金会旗下一款开源软件,主要通过模拟并发负载来实现性能测试,是目前开源社区的主流性能测试工具。其主要具有以下优势:
- 内置多种协议的测试支持,如 TCP、HTTP/HTTPS 等。
- 提供灵活的插件扩展机制,支持第三方扩展其他的协议。对于物联网系统中种类繁多的协议,只需按 JMeter 的框架要求定制开发所需协议业务逻辑,就能方便地放入 JMeter 的插件库,使用 JMeter 既有功能进行该协议的性能测试。
- 具有良好的社区支持。
安装完 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。
文章图片
推荐阅读
- 探索免费开源服务器tomcat的魅力
- 190403|190403 - Jmeter压测接口
- 要玩转这个星际争霸II开源AI,你只需要i5+GTX1050
- redis|redis 常见问题一
- java|微软认真聆听了开源 .NET 开发社区的炮轰( 通过CLI 支持 Hot Reload 功能)
- SwiftUI|SwiftUI 动画组件之Lottie小型高质量交互式的开源动画文件格式
- Java程序|软件测试八款优秀的API安全测试工具,会用三款工作效率能提升50%
- 开源生态|GPL、MIT、Apache...开发者如何选择开源协议(一文讲清根本区别)
- WebGIS理论知识(三)之ArcGIS平台、SuperMap超图平台和开源平台
- 性能|性能工具之 Jmeter 通过 SpringBoot 工程启动