前言:
Jmeter的安装配置就不多说了...自行教程吧
6个步骤,直接上车!^_^
1、创建线程组:

创建线程组之后,我们就可以设置线程组名称和压测参数。线程组有以下几个重要参数需要配置:
-
线程数(Users):模拟的用户数量,即并发用户数
-
Ramp-Up时间(秒):JMeter启动所有线程所需的秒数,用于控制用户加载速度
-
循环次数:每个线程执行测试用例的次数
-
调度器:可以设置测试的持续时间和其他调度选项

2、创建HTTP请求--压测地址

输入请求的协议类型(HTTP/HTTPS)、服务器地址、端口号、请求路径、参数

3、创建HTTP信息头管理器(POST)
配置Content-Type头部信息来告知JMeter我们当前发起的请求是参数为JSON格式的POST请求。

注意必须是JSON格式:请求体数据必须是有效的JSON格式,注意括号匹配和逗号分隔符

4、添加结果树和聚合报告
然后我们就可以进行压测了,但是为了能够查看测试结果和性能指标,我们需要添加结果树和聚合报告。


结果树(View Results Tree)用于查看每个请求的详细响应信息,包括请求头、响应头、响应体等。它可以帮助我们:
-
验证请求是否正确发送
-
检查响应数据是否符合预期
-
调试测试脚本中的问题
-
查看详细的响应时间信息
聚合报告(Aggregate Report)用于查看整体的性能统计数据,包括平均响应时间、最小响应时间、最大响应时间、吞吐量等关键性能指标。
5、点击启动进行压测
(1)点击这个绿色按钮即可开始压测

++注意:梯度施压,不要一次性加到最大压力,便于观察拐点,到达出现error%时,多跑几遍。++
(2)点击结果树就能看到请求结果

(3)点击聚合报告就能看到性能测试报告

聚合报告包含了以下关键性能指标:
-
Label(标签):表示请求的名称标识,通常是HTTP请求的路径或自定义的请求名称,用于区分不同的请求类型。
-
Samples(样本数):表示在测试期间发送的请求数量,即JMeter执行该请求的总次数。
-
Average(平均值):表示所有请求的平均响应时间,单位为毫秒。这个值越小说明系统响应速度越快。
|----------|---------------------------------------------------------------------------------|
| 90% 响应时间 | 把所有响应时间的数值从小到大排序,取前 90% 位置的值,即为该分位的值。例如: 将采集到的 100 个数据,从小到大排列,取出第 90 个用户的数据做统计。 |
| 95% 响应时间 | 把所有响应时间的数值从小到大排序,取前 95% 位置的值,即为该分位的值。例如: 将采集到的 100 个数据,从小到大排列,取出第 95 个用户的数据做统计。 |
| 99% 响应时间 | 把所有响应时间的数值从小到大排序,取前 99% 位置的值,即为该分位的值。例如: 将采集到的 100 个数据,从小到大排列,取出第 99 个用户的数据做统计。 |
-
Min(最小值):表示所有请求中的最小响应时间,单位为毫秒。反映了系统在最佳状态下的响应速度。
-
Max(最大值):表示所有请求中的最大响应时间,单位为毫秒。反映了系统在最差状态下的响应速度。
-
Std. Dev.(标准偏差):表示响应时间的离散程度,标准偏差越小说明响应时间越稳定,性能越可预测。
-
Error %(错误率):表示请求失败的百分比,计算公式为(失败请求数/总请求数)×100%。错误率越低说明系统越稳定。
-
Throughput(吞吐量):表示单位时间内处理的请求数量,单位为请求/秒。吞吐量越高说明系统处理能力越强。
-
Received KB/sec(每秒接收数据量):表示服务器每秒向JMeter发送的数据量,单位为KB。反映了网络传输和服务器返回数据的大小。
-
Sent KB/sec(每秒发送数据量):表示JMeter每秒向服务器发送的数据量,单位为KB。反映了请求数据的大小。
6、生成压测报告
(1)在桌面创建一个空文件夹来存放报告
我自己的路径为:C:\Users\EDY\Desktop\HttpReports

(2)再在Jmeter的bin路径下cmd打开命令行输入(替换你自己的路径):
jmeter -n -t D:\Jmeter\apache-jmeter-5.6.3\bin\fantis.jmx -l C:\Users\EDY\Desktop\HttpReports\html.csv -e -o C:\Users\EDY\Desktop\HttpReports
(3)回车运行
看见end of run字样就是已全部生成完毕。

打开以下两个报告即可。(注意后面想再次运行需要++清空文件夹++才能运行成功)

尾声:
单个接口压测非常之简单易懂~
下一篇出一下压测报告的分析
关注主包不迷路(。・ω・。)/~