目录:
性能测试
概念
- 性能测试针对系统的性能指标,建立性能测试模型,制定性能测试方案,制定监控策略,在场景条件之下执行性能场景,分析判断性能瓶颈并调优,最终得出性能结果来评估系统的性能指标是否满足既定值。
性能指标
- 指标包括:时间指标、容量指标和资源利用率指标
- 时间指标指的是接口响应时间、业务响应时间
- 容量指标指的是接口容量、业务容量
- 资源利用率指标指的是操作系统(CPU、IO、Mem、Disk、Network、System)、JVM等
- 指标的由来:可以是根据业务场景,同团队成员商讨获得;或者实际执行压测时没有设置指标,目的设置为查看系统的性能瓶颈
模型
- 模型指的是真实场景的抽象,可以告诉性能测试人员,业务模型是什么样子
- 通俗的可以理解为,模型可以让测试人员知道具体业务的并发情况,方便测试人员根据模型设计具体的压力比例
- 模型数据的获得:一般是从生产环境中统计得到(比如对各个节点打log,然后根据log来分析得到流量情况)
性能测试方案
- 方案包含的内容:测试环境、测试数据、测试模型、性能模型、压力策略、准入准出和进度风险
性能监控
- 要有分层、分段的能力,要有全局监控、定向监控的能力(海量免费学习资料,软件测试交流:1140267353,还会有同行一起技术交流)
性能测试要有预定的条件
- 这里的条件包括软硬件环境、测试数据、测试执行策略、压力补偿等内容
性能测试中要有场景
- 在既定的环境(包括动态扩展等策略)、既定的数据(包括场景执行中的数据 变化)、既定的执行策略、既定的监控之下,执行性能脚本,同时观察系统各层级的性能状 态参数变化,并实时判断分析场景是否符合预期
- 场景分类:基准性能测试、容量性能场景、稳定性性能场景、异常性能场景
性能测试的分析调优
- 性能项目分类
- 新系统性能测试类:这样的项目一般都会要求测试出系统的最大容量
- 旧系统新版本性能测试类:这样的项目一般都是和旧版本对比,只要性能不下降就可以 根据历史数据推算容量,对调优要求一般都不大。
- 新系统性能测试优化类:这类的系统不仅要测试出最大容量,还要求调优到最好。
性能测试肯定要有结果报告
- 内容包含:调优前后的TPS、响应时间、资源对比图
(海量免费学习资料,软件测试交流:1140267353,还会有同行一起技术交流)
TPS和响应之间(RT)是什么关系
- 在实际的性能测试中,假设以梯度递增并发用户数,那么一开始TPS是缓慢上升的,此时RT会有一段时间维持在较低的水平;随着压力继续增大,TPS也会上升,RT也缓慢上升;当TPS达到极限,而压力依旧继续增大时,RT会极速上升,最后到达超时
性能指标
需求指标
- 业务指标
- 业务层面的指标,如业务方要求1000万在线用户,那么继续可以拆分为n个性能场景,每个性能场景中也有对应的定值的业务比例
- 技术指标
- RT 响应时间(ReSponse Time),通常所说的响应时间,包含了Request Time和Response Time
- HPS 每秒点击数(Hit Per Second)
- TPS 每秒事务数(Transactions Per Second)
- QPS 在mysql中指每秒sql数
- RPS 每秒请求数
- CPS HTTP返回码每秒
- PV 页面浏览量
- UV 独立访问者
- IP 独立IP数
- Throughput 吞吐量
- IOPS 通常描述磁盘
性能指标概念
-
TPS
- 需要根据场景来定义TPS的粒度;如果是接口层性能测试,那么T是接口级;如果是业务级性能测试,T 可以直接定义为每个业务步骤和完整的业务流。
-
并发用户数
- 绝对并发:同一时刻的并发数
- 相对并发:一个时间段内的并发数
- 用TPS来承载并发的概念
-
在线用户数和并发用户数
- 在线用户数指的是某段时间内在系统上的用户,这些用户并不一定会执行动作
- 并发用户数指定是上述的在线用户某段时间内对某个服务进行动作时的用户数目(并发用户数 = 在线用户数 * 并发度 )
-
公式
感兴趣的小伙伴可以加:1140267353 群,同时还有海量免费学习资料,等待大家一起来交流~
如果觉得小枫写的这些对你有所帮助,那就请各位点赞关注收藏吧!!!