性能测试指标是一个系统性的体系,用于全面衡量软件应用在特定负载下的表现。它主要分为以下几个方面:
一、系统处理能力指标
这些指标反映了系统处理业务的效率和容量。
并发用户数,在同一时间点和系统进行交互的用户数量。
说明:注意和“在线用户数”(已登录但未操作)区分。这是施加给系统的压力源头。
事务/请求吞吐量,系统在单位时间内处理的业务事务数量或请求数量。
常见单位:
TPS:每秒处理的事务数。这是核心业务指标,如“每秒成功支付笔数”。
QPS:每秒处理的请求数。更偏向于技术指标,如“每秒向服务器发起的HTTP请求数”。
意义:吞吐量越高,说明系统处理能力越强。
事务/请求响应时间,从发起一个请求或事务开始,到接收到服务器返回的最终响应所经历的时间。
统计方式:通常不只看平均值,而是关注其分布,如:
平均值:总体响应时间的平均水平。
中位数:50%的用户响应时间在此数值之内。
90分位/95分位值:例如90分位值为2秒,表示90%的用户响应时间在2秒以内。这个指标更能体现大多数用户的体验。
二、系统资源消耗指标
这些指标反映了系统在处理负载时,底层硬件资源的使用情况,用于发现性能瓶颈。
CPU使用率,CPU用于执行任务的时间百分比。
分析:如果持续高于80%,则可能成为瓶颈,需要检查是否有代码死循环或计算过于密集。
内存使用率,系统物理内存的使用情况。
分析:内存使用率过高可能导致系统开始使用交换分区,性能急剧下降。也需要关注内存泄漏,即内存使用率随时间持续升高且不释放。
磁盘I/O,磁盘的读写速率和操作次数。
主要指标:读写吞吐量、IOPS。
分析:过高的磁盘I/O等待时间会拖慢整个系统。
网络I/O,网络接口的流量和带宽使用情况。
主要指标:网络吞吐量、网络连接数、丢包率。
分析:网络带宽饱和或丢包率高会导致响应缓慢。
三、系统稳定和可靠性指标
这些指标衡量系统在长时间运行或极端压力下的表现。
错误率,失败的事务或请求数占总数的比例。
说明:如HTTP状态码为5xx的请求比例。错误率是衡量系统健康度的主要指标,理想情况下应接近0。
系统稳定性/可用性,在测试期间,系统能够正常提供服务的时间比例。
计算:通常通过持续长时间(如8-24小时)的稳定性测试来验证,观察各项指标是否平稳,是否出现内存泄漏或服务中断。
四、前端性能指标(对于Web应用和APP)
这些指标直接影响用户的感知体验。
页面加载时间,页面从发起请求到完全渲染所花费的时间。
细分:可分为首次渲染时间、首屏时间、DOM加载完成时间等。
Web指标
LCP:最大内容绘制时间,测量加载性能。理想值应在2.5秒内。
FID:首次输入延迟,测量交互性。理想值应小于100毫秒。
CLS:累积布局偏移,测量视觉稳定性。理想值应小于0.1。
在实际性能测试中,需要将这些指标结合起来分析。例如,在逐渐增加并发用户数的过程中,观察响应时间是否平稳、吞吐量是否随之增长、错误率是否上升、以及系统资源是否出现瓶颈。性能测试的目标就是找到系统的最佳体验负载和最大容量临界点,并为优化提供数据依据。