目录
- 常用的压测工具
- jmeter安装
- 配置并执行
- 新建测试计划 Test Plan
- 添加线程组
- 练习01:共10个线程,每秒钟启动一个线程(需要10秒),每个线程发送两个请求
- 练习02:共10个线程,1秒中内启动完毕,每个线程发送1个请求
- 练习03:共10个线程,同时发送(0秒内发送完毕),每个线程发送1个请求【模拟用户同时并发】
- 添加请求信息
- 添加常用的结果监听器
- 执行测试计划
- 查看结果观察树-View Results Tree
- 总结报告-Summary Report
- 聚合报告-Aggregate Report
- 结果图
- 参考链接
常用的压测工具
- postman:串行测试,一般用于功能性测试,即返回结果是否正常
- jmeter:可以多线程并行测试,一般用于压测
jmeter安装
- 直接官网下载压缩包,解压缩,运行即可
配置并执行
新建测试计划 Test Plan
- 修改
Name为测试Demo

添加线程组

Action to be taken after a Sampler error: 如果测试过程报错了怎么处理Continue: 报错了继续执行Stop Thread: 停止所在的线程Stop Test: 停止整个测试计划Stop Test Now:Start Next Thread Loop:
Number of Threads(users): 线程数,虚拟用户数。一个虚拟用户对应一个线程。需要10个用户发送请求,则设置为10。Ramp-up period(seconds): 准备时长,设置的虚拟用户数需要多长时间全部启动。需要2秒钟启动10个线程,也就是每秒钟启动5个线程,则此处设置为 2。如果设置为 1,则意思是1秒钟启动所有线程。Loop Count: 循环次数,每个线程发送的请求个数,如果设置 1,则每个线程只发送1次请求就停止。如果勾选Infinite(永远),则每个线程会一直发送请求,直到手动停止测试计划。

练习01:共10个线程,每秒钟启动一个线程(需要10秒),每个线程发送两个请求


练习02:共10个线程,1秒中内启动完毕,每个线程发送1个请求

- 同练习01执行,可以看到结果大约在1秒内全部返回
练习03:共10个线程,同时发送(0秒内发送完毕),每个线程发送1个请求【模拟用户同时并发】

- 同练习01执行,可以看到发送结果一下子全部返回
添加请求信息
- 后台本地在
8080端口启动一个服务接口/hello,没有请求参数,直接返回字符串ok。

添加常用的结果监听器


执行测试计划
查看结果观察树-View Results Tree

总结报告-Summary Report

聚合报告-Aggregate Report

Label: 每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值Samples: 请求数——表示这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100Average: 平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,以Transaction 为单位显示平均响应时间Median(中位数): 50%用户的响应时间小于该值90% Line(90%百分位): 90%用户的响应时间小于该值95% Line(95%百分位): 95%用户的响应时间小于该值99% Line(99%百分位): 99%用户的响应时间小于该值Min: 最小响应时间Max: 最大响应时间Error%: 错误率——错误请求数/请求总数Throughput: 吞吐量(QPS)——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
需要注意,重复运行会叠加之前的,每次运行前需要先清除之前的结果
一般而言,性能测试中我们需要重点关注的数据有: #Samples 请求数,Average 平均响应时间,Min 最小响应时间,Max 最大响应时间,Error% 错误率及Throughput 吞吐量。
结果图

参考链接
- https://www.cnblogs.com/zhaoyq/p/10944080.html
- https://blog.csdn.net/zhiwenganyong/article/details/124212479
- https://www.cnblogs.com/liuyuelinfighting/p/15000827.html