一、压力测试介绍及性能指标
1.压力测试介绍
压力测试考察当前软硬件环境下系统能承受的最大负荷并帮助找出系统的瓶颈所在,压测都是为了系统在线上的处理能力和稳定性维持在一个标准的范围内,做到心中有数.
使用压力测试,我们有希望找到很多种用其他测试方法更难发现的错误。有两种类型的错误:内存泄露和并发与同步;有效的压力测试系统将应用以下的关键条件:重复,并发,量级,随机变化.
2.性能指标
在正式开始压力测试之前,需要了解几个性能指标
- 响应时间(Response Time):用户从客户端发起一个请求开始,到客户端接收到从服务端返回的响应结束,整个过程所耗费的时间
- HPS(Hits per Second):每秒点击次数,单位是次/秒
- TPS(Transaction per Second):系统每秒处理交易数,单位是笔/秒
- QPS(Query per Second):系统每秒处理查询次数,单位是次/秒
- 最大响应时间(Max Response Time):用户发起请求到系统做出反应的最大时间
- 最少响应时间(Mininum Response Time):用户发起请求到系统做出反应的最少时间
- 90%响应时间(90% Response Time):对所有用户的响应时间排序,如果90%的用户的响应时间在设计要求内,则该接口基本符合设计要求
性能测试主要关注以下三个指标:
- 吞吐量:每秒钟系统能够处理的请求数,任务数
- 响应时间:服务处理一个请求的耗时
- 错误率:请求结果出错的请求所占的比例
1.压力测试工具
压力测试工具有很多,例如Apache的ab、JMeter,Gatling,本文主要以JMeter测试为例,JMeter是用java开发的,需要jdk1.8以上的环境,请提前配置好java环境。
2.JMeter下载与安装
下载JMeter,到官方网站下载二进制文件到本地,然后进行解压即可使用,下载地址:Apache JMeter - Download Apache JMeter
要安装到哪里,就解压到哪里。
JMETER_HOME:F:\install\apache-jmeter-5.5
path:%JMETER_HOME%\bin
运行JMeter,在解压文件bin目录下,双击运行jmeter.bat启动。
- 添加取样器,选择要测试的目标,例如我是测试项目接口,选择http,并设置相关参数