笔记(茹炳晟老师 第28课 带你一起解读不同视角的软件性能与性能指标 )
衡量软件性能三个最常用的指标:并发用户数、响应时间、系统吞吐量
并发用户数
包含业务层面和后端服务器层面的两层含义
业务层面的并发用户数:指实际使用系统的用户总数。要结合用户行为模型,才能得到系统实际承载的压力。
后端服务器层面的并发用户数:同时向服务器发送请求的数量--直接反映了系统实际承载压力。
系统潜在用户数、业务并发用户、实际并发用户数(服务器并发请求数)--取决于业务并发用户数和用户行为模式,用户行为模式比重较大
性能测试中关键一环:分析得到准确的用户行为模式(除了获取性能需求外,最困难的工作)
获取用户行为模式方法:
1)以上线系统:系统日志分析法-->获取用户行为统计和峰值并发量等重要信息
2)未上线系统:参考行业中类似系统的统计信息建模、分析(通常做法)
响应时间
通俗定义:反映了完成某个操作所需要的的时间
标准定义:应用系统从请求发出开始,到客户端接收到最后一个字节数据所消耗的时间
- 服务器端响应时间:采用标准定义评估
- 前端响应时间:采用用户主观感受时间的定义
系统吞吐量
最直接体现软件系统负载承受能力的指标
注意:所有对吞吐量的讨论都必须以“单位时间”作为基本前提
衡量吞吐量
- Requests/Second 受应用服务器和应用本身实现制约
- Pages/Second 受网络设置、服务器架构、应用服务器制约
- Bytes/Second 受网络设置、服务器架构、应用服务器制约
从业务角度,也可以用 “单位时间的业务处理数量” 衡量
【注意】 不同并发用户数场景下,即使系统具有相近的吞吐量,但是得到的系统性能瓶颈也会相差甚远
【要求】性能测试场景指标,需要根据实际情况组合并发用户数、响应时间这两个指标
考察HTTP或业务层面:Requests/Second、Pages/Second
考察系统层面或网络层面:Bytes/Second
并发用户数、系统吞吐量、响应时间三者关系
当系统并发用户数较少时,系统的吞吐量也低,系统处于空闲状态--称为“空闲区间”
当系统整体负载并不是很大时,随着系统并发用户数的增长,系统的吞吐量也会随之线性增长--称为“线性增长区间”
随着系统并发用户数的进一步增长,系统的处理能力逐渐趋于饱和,因为每个用户的响应时间会逐渐变长。相应的,系统的整体吞吐量并不会随着并发用户的增长而继续呈线性增长--称为“拐点”
随着系统并发用户数的增长,系统处理能力达到过饱和状态。此时,如果继续增加并发用户数,最终所有用户的响应时间会变得无限长。相应地,系统的整体吞吐量会降为零,系统处于被压垮的状态。--称为“过饱和区间”