一、何为压力测试
1.1、 介绍
性能压测是什么:就是考察当前软件和硬件环境下,系统所能承受的最大负荷,并帮助找出系统的瓶颈所在。
性能压测的目的:为了系统在线上的处理能力和稳定性维持在一个标准范围内,做到知己知彼,百战不殆。还可以发现内存泄漏、并发与同步的问题。
1.2、性能指标
RepsonseTime - RT:响应时间,用户从客户端发起一个请求开始计算,到客户端接收到服务端的响应结束,整个过程所耗费的时间。
Hits Per Second - HPS:用户每秒点击次数,也就是每秒向后台发送的请求次数。
QPS:系统每秒内处理查询的次数。
MaxRT:最大响应时间,指用户发出请求到服务端返回响应的最大时间。
MiniRT:最少响应时间,指用户发出请求到服务端返回响应的最少时间。
90%响应时间:将所有用户的响应时间进行升序排序,取 90 % 的位置。
性能测试关注点:
吞吐量:每秒钟系统能处理的请求数、任务数。
响应时间:服务处理一个请求或一个任务的耗时。
错误率:一批请求中结果出过错的请求所占比例。
二、Jmeter 压测工具
1、Jmeter 工具
下载和安装 Jmeter 工具
下载地址:https://jmeter.apache.org/download_jmeter.cgi
已下载的版本是 apache-jmeter-5.3
- 运行 JMeter 程序
打开批处理文件:\apache-jmeter-5.3\bin\jmeter.bat
- 添加线程组
- 1s 内启动 200 个线程,循环次数 100 次。2w 个请求。
- 测试 HTTP 请求
配置要测试的协议、服务器地址、端口号
协议:http
服务器名称或 IP: www.baidu.com (只是为了演示)
端口号:8
- 添加察看结果树、汇总报告和聚合报告
-
开始压力测试
点击播放按钮就开始启动了。注意启动之前需要先设置线程组的参数配置和 HTTP 请求的配置。
- 查看每个请求结果
-
查看汇总报告
主要关心平均值和吞吐量。
200 个线程,每个线程调用 100 次,总共 2 w 次,