测试工具之压测工具JMeter(一)

有时候我们接到的需求是秒杀或者抽奖类的功能开发,这时候可能会在某一时间点大量请求并发,我们手工自测很难发现一些高并发场景下的问题,这时候可以借助一些压测工具帮我们模拟出大量请求来测试我们的接口是否能满足业务要求。JMeter是Apache 旗下的开源软件。

JMeter支持测试的应用/服务/协议有很多例如:Web服务 (HTTP, HTTPS )、 Webservices、Database via JDBC、FTP、LDAP、Mail - SMTP(S), POP3(S) and IMAP(S)、Native commands or shell scripts、TCP、Java Objects等等。

1.JMeter下载

访问Apache官方网站https://jmeter.apache.org/download_jmeter.cgi

点击apache-jmeter-5.5.zip即可开始下载

下载完成后解压apache-jmeter-5.5.zip

2.使用

进入bin目录点击jmeter.bat文件即可打开主jmeter界面

2.1切换中文

Options->Choose Language->Chinese(Simplified)

2.2创建测试计划

如下界面中可设置激活名称、注释等信息。一个计划中可创建多个线程组

2.2.1创建线程组

TestPlan->添加->线程(用户)->线程组

线程组可设置名称和注释,一个线程相当于一个用户请求。比如线程数填100,Ramp-up时间填1,循环次数填1,就表示在1秒内发送100次请求,执行一次。

2.2.2创建HTTP请求

在线程组上点击右键,添加->取样器->HTTP请求

Web服务器:设置请求的协议,默认是http,ip填写测试服务器地址,端口号是是测试应用的端口。

HTTP请求:选择接口支持的请求方法,路径为url的请求路径(GET请求的参数可以直接带在路径上或在下面的参数配置表格中通过点击"添加"按钮来添加请求参数)

2.2.3创建察看结果树

在HTTP请求上点击右键,添加->监听器->察看结果树

2.3.4添加聚合报告

在HTTP请求上点击右键,添加->监听器->聚合报告。

说明:

TestPlan:测试计划,相当于一个工程,

Thread Group:线程组,相当于模拟的请求数,一个线程相当于一个用户请求

察看结果树:监听发送请求时各个请求的状态

聚合报告:汇总一次测试的数据

2.3.5 开始测试

点击界面工具栏的绿色三角按钮

2.3.6查看报告

选择其中的请求可以在右边看到这个请求地址、请求时间、请求数据长度等详细信息

选择聚合报告可以查看本轮测试的数据报告

说明:

样本:请求的次数(线程数*循环次数)

平均值:响应时间的平均用时,单位是毫秒

中位数:响应时间的中位数,单位是毫秒

90%百分位:90%的响应时间小于该数值,单位是毫秒

95%百分位:含义和90%类似

99%百分位:含义和90%类似

最小值:该次测试最小响应时间,单位是毫秒

最大值:该次测试最大响应时间,单位是毫秒

异常%:该次测试出现异常的请求比例

吞吐量:等同QPS(测试的接口处理请求的能力)

接收KB/Sec:响应数据的接收速率

发送KB/Sec:请求数据的发送速率

相关推荐
freejackman4 天前
【工程化】从“单兵作战”到“多引擎架构”:基于门面模式的重构实战
大数据·数据库·hive·sql·测试工具·设计模式·架构
坐吃山猪4 天前
Python22-PostMan调试MCP
测试工具·postman·mcp
测试界的小码农5 天前
【 AI Agent 软件测试实战(05):任务规划与状态管理,让 Agent 学会拆解复杂测试任务】
人工智能·测试工具
和粒科技7 天前
热重分析仪TG 309 Libra Classic
测试工具
螺丝钉tina13 天前
[Playwright] [02]常用命令与调试:Debug UI、Mode和 Trace Viewer
开发语言·javascript·测试工具·ui·自动化
梧桐16814 天前
14天、31个缺陷、28个测试脚本—用 Claude Code 完成第三方软件测试
人工智能·测试工具
mewowaBc14 天前
postman使用细则
测试工具·postman·偏差
光影62714 天前
Unittest单元测试基础速记
测试工具·单元测试·json·测试覆盖率
xie8810180215 天前
正则里的点号不匹配换行:多行模式的开关
运维·服务器·测试工具
东舟技术16 天前
从人工目检到AI视觉:智能座舱瞬态故障的自动化捕获与溯源
功能测试·测试工具·自动化