一、概述
应用自动化测试工具,模仿用户理论应用的不同场景,对系统的性能指标进行测试 和 评估
1.1、测什么
- 后盾代码
- 中间件 (tomcat、apache、nginx)
- 数据库、架构设计是否存在瓶颈
- 资源(cpu、内存、磁盘、网络)利用率
1.2、目标
- 评估以后零碎能力
- 找出零碎性能(硬件、软件)瓶颈,优化性能
- 评估软件是否能满足将来 2~3 年 性能需求
1.3、性能测试和接口测试比照
-
焦点
- 接口性能:验证软件的性能是否合乎产品需要。性能的正向和反向
- 接口性能:验证软件是否满足 业务场景 需要。侧重点在 工夫 和 资源
-
关系
- 二者相辅相成,缺一不可!
- 先测性能,再测性能
二、性能测试策略
阐明: 基准测试、负载测试、稳定性测试。不是测试的 3 种 分类。基准测试 是 负载、稳定性测试的前提!个别依照 先基准,再负载,最初稳定性的程序开展性能测试
2.1、基准测试
单用户跑业务场景,开展性能测试,关注的指标数据。给后续多用户测试,提供参考数据
2.2、负载测试
向服务器逐渐加压发送申请,查看零碎在满足指标的状况下,最多反对多少申请
2.3、稳定性测试
零碎维持在 肯定的负载(如:cpu 占用率 60% ~ 80%)下,长时间运行,测试零碎工作的稳定性。个别测 `1*24 3*24 7*24
2.4、并发测试
同一时刻(极短时间内)向服务器发送同一申请。如:秒杀、抢注、抢红包!
2.5、压力测试
采纳逐渐加压的形式,向服务器发送申请,测试出零碎性能的极限临界值
三、性能测试指标
阐明:-- 性能指标:掂量 一次性能测试 具体某项后果的统称
性能测试 次要参考的 6 大指标:1. 响应工夫
2. 并发数
3. 吞吐量
4. 点击数
5. 错误率
6. 系统资源利用率
3.1、响应工夫
指用户从客户端发动一个申请开始,到客户端接管到从服务器端返回的后果,整个过程所消耗的工夫
响应工夫公示:响应工夫 = 网络工夫 + 利用程序处理工夫(应用服务器解析工夫、数据库服务器解析工夫)
3.2、并发数
指同一时刻,同时拜访零碎发送申请的用户数据量
3.3、吞吐量
单位工夫内,解决客户端申请的 数量。能够间接体现零碎的负载能力
-
TPS (Transactions Per Second): 每秒事务数
一个事务对应一个业务场景,能够蕴含多个 申请
-
QPS (Query Per Second): 每秒查问数
指服务器解决的 申请数
留神:如果没有加非凡阐明(默认 一个业务中,就只有一个申请),通常 TPS 与 QPS 雷同
3.3、点击数
只有 web 服务器,才有点击数 性能指标
点击数,不是点击网站的次数。是向零碎发送申请后,收到的响应数量
3.4、错误率
- 指零碎在指定负载下,失败业务的概率。
- 不同零碎的错误率不同。个别由产品经理指定。
- 没有指定时,个别状况下,零碎的错误率为 千分之五(0.5%)
3.5、资源利用率
阐明:指零碎各种资源的占用状况
以下数据作为参考,具体依据本人公司的数据
-
CPU
- 75 ~ 85%(超出此范畴,有性能瓶颈)
-
内存
- 不超过 80%(超出有性能瓶颈)
-
磁盘
- 不超过 90%
-
网络
- 不超过 80%(超出有性能瓶颈)
四、性能测试流程
- 性能测试 需要剖析
- 性能测试的打算及计划
- 性能测试用例
- 搭建测试工具环境
- 编写 / 录制 测试脚本
- 执行测试脚本
- 测试数据监控
- 剖析和调优
- 编写测试报告总结