性能测试理论

一、性能测试的意义:
现状
互联网行业发展快,用户量大大增加;业务和系统架构越来越复杂,数据越来越多,用户不仅仅满足于功能的实现,在某些场景下,更在意系统性能。
 
什么是性能测试?
通过一定的手段,在多并发下情况下,获取被测系统的各项性能指标,验证被测系统在高并发下的处理能力、响应能力,稳定性等,能否满足预期。定位性能瓶颈,排查性能隐患,保障系统的质量,提升用户体验。
 
二、什么样的系统需要做性能测试?
1、用户量大,PV比较高的系统
2、系统核心模块/接口
3、业务逻辑/算法比较复杂
4、促销/活动推广计划
5、新系统,新项目
6、线上性能问题验证和调优
7、新技术选型
8、性能容量评估和规划
9、日常系统性能回归
 
三、性能测试指标:
1、TPS/QPS:每秒处理的事务数  
2、平均响应时间:在测试过程中,所有请求的平均耗时
 
       一个请求的响应时间都包含了哪些时间?

 

   响应时间=网络传输的总时间+各组件业务处理时间

  TOP响应时间:

  tp90:90%的请求耗时都低于某个时间

  tp95:95%的请求耗时都低于某个时间

  tp99:99%的请求耗时都低于某个时间
3、并发数:压测工具设置的并发线程或者进程数量
3、成功率:请求成功率
4、pv:页面/接口的访问量
5、UV:页面/接口的每日唯一访客(即日活)
6、吞吐量:网络中上行和下行流量总和,吞吐量代表网络的流量,tps越高,吞吐量越大
 
四、TPS、响应时间和并发数的关系
响应时间单位为秒的情况下:tps=并发数/平均响应时间
 
五、性能测试流程
1、需求调研:包括项目背景、测试范围、业务逻辑&数据流向、系统架构、配置信息、测试数据量、外部依赖、系统使用场景/业务比例、日常业务量、预期指标、上线时间
2、测试计划:项目描述、业务模式及性能指标、测试环境说明、测试资源、测试方法及场景设计原则、测试进度安排及测试准则
3、环境搭建:测试机器硬件配置尽量和线上一致、系统版本与线上一致、测试环境部署线上最小单元模块、应用/中间件/数据库配置要与线上一致
4、数据准备:
5、脚本编写
6、压测执行
7、调优回归
8、测试报告
 
六、性能测试目的
1、测试系统最大处理能力:寻找系统的最大TPS,判断TPS和响应时间是否满足预期
2、测试系统支持最高并发:寻找系统最高能支持多少并发,当系统出现宕机、进程崩溃、报错率持续上升、响应时间时间超过可忍受范围、程序无响应等情况,可认为系统达到了可支持的最高并发
 
七、性能测试场景
三个基本压测场景
1、先进行单接口测试
2、按照一定的并发比例,进行多接口的混合测试
3、按照混合场景比例,进行长时间的稳定性测试。稳定性测试一般用拐点数据测试,关注TPS和平均响应时间是否稳定
 

posted @ 2021-05-28 16:32  小红帽与大灰狼  阅读(177)  评论(0编辑  收藏  举报