2. 性能指标详解:TPS、QPS、响应时间、并发用户数、吞吐量、资源利用率等核心指标

性能指标是压力测试的“仪表盘”。不理解指标的含义,就无法判断系统是否健康。本章将逐一拆解压力测试中最核心的六大指标,厘清它们之间的区别与联系,并给出实战中的参考标准。

2.1 指标全景图:从用户请求到系统资源

在深入每个指标之前,先通过一张全景图建立整体认知。一次完整的用户请求,从发出到结束,会经历“负载产生 → 排队等待 → 服务处理 → 资源消耗”四个阶段,每个阶段都有对应的核心指标。

性能指标全景关系图 性能指标全景关系图 阶段一:负载产生 并发用户数 (VU) TPS / QPS 吞吐量 (Throughput) 阶段二:排队等待 响应时间 (RT) 等待时间 队列深度 阶段三:服务处理 响应时间 (RT) 服务时间 错误率 阶段四:资源消耗 CPU 利用率 内存使用率 I/O / 网络 核心公式:并发用户数 = TPS × 平均响应时间(Little's Law) 吞吐量 = 成功请求数 / 测试时间 负载指标 并发用户数(施加的压力) TPS/QPS(系统处理的速率) 吞吐量(总处理能力) 体验指标 响应时间(用户等待时长) 错误率(请求失败比例) 超时率 资源指标 CPU / 内存 / 磁盘 I/O 网络带宽 / 连接数 GC 频率 / 线程池状态
💡 学习提示: 不要孤立地记忆每个指标。理解指标之间的因果关系(例如:并发用户数增加 → 响应时间变长 → TPS 达到拐点 → 资源利用率饱和),才是性能分析的核心能力。

2.2 核心指标详解

2.2.1 TPS(Transactions Per Second)与 QPS(Queries Per Second)

TPS 是每秒完成的事务数,QPS 是每秒完成的查询数。两者是衡量系统处理能力最直接的指标。

对比维度 TPS(事务/秒) QPS(查询/秒)
定义 一个完整业务操作(如:下单、支付) 一次查询请求(如:查询商品列表)
包含关系 1 个事务可能包含多个查询 多个 QPS 组成 1 个 TPS
典型场景 电商下单、银行转账、支付流程 搜索引擎、数据库查询、API 调用
关注重点 业务成功率与完整性 查询速度与并发能力
⚠️ 常见误区: 很多测试报告将 TPS 和 QPS 混用。在微服务架构中,一个前端请求可能触发后端 5~10 次内部调用。如果只统计网关层的 QPS,会严重高估系统的实际业务处理能力。建议:对外报告用 TPS,对内调优用 QPS。

2.2.2 响应时间(Response Time, RT)

响应时间是从用户发出请求到收到完整响应所经过的总时间。它直接决定了用户体验的好坏。

  • 组成公式: 响应时间 = 网络传输时间 + 排队等待时间 + 服务处理时间 + 数据返回时间
  • 关键分位值:
    • Avg(平均响应时间): 容易受极端值影响,参考价值有限。
    • TP90 / TP95 / TP99: 分别表示 90%/95%/99% 的请求在多少毫秒内完成。TP99 是 SLA 的核心指标。
    • Max(最大响应时间): 通常由慢查询或 GC 引起,需要单独分析。
📊 实战参考标准:
· 互联网前端页面:TP99 < 2s
· 内部 API 接口:TP99 < 500ms
· 数据库查询:TP99 < 200ms
· 实时交易系统:TP99 < 100ms

2.2.3 并发用户数(Concurrent Users / VU)

并发用户数是指同一时间段内,同时向系统发起请求的虚拟用户数量。注意区分“并发用户数”和“在线用户数”:

概念 定义 举例
在线用户数 登录系统但可能没有操作的用户 10000 人登录了 App,但只有 200 人在浏览商品
并发用户数 同一时刻正在发送请求的用户 200 人同时点击“加入购物车”

Little's Law(利特尔法则): 并发用户数 = TPS × 平均响应时间。这是性能测试中最基础的数学关系。例如:系统 TPS 为 100,平均响应时间为 0.5s,则维持该吞吐量所需的并发用户数为 50。

2.2.4 吞吐量(Throughput)

吞吐量是单位时间内系统成功处理的请求总量。常见的单位有:

  • 请求数/秒(RPS): 适用于 HTTP 接口测试。
  • 字节数/秒(Bytes/s): 适用于文件传输、流媒体场景。
  • 业务数/秒: 适用于特定业务场景(如:订单数/秒)。

吞吐量与 TPS 的区别:TPS 强调“事务”的完整性(成功才算),吞吐量更强调“数据量”或“请求量”的通过能力。

2.2.5 资源利用率(Resource Utilization)

资源利用率反映了系统硬件或软件资源被消耗的程度。当资源利用率接近 100% 时,通常意味着系统出现了瓶颈。

资源类型 健康范围 危险信号 常见瓶颈原因
CPU 70% ~ 80% > 90% 持续波动 死循环、频繁 GC、计算密集型任务
内存 使用率 < 80% 持续增长不释放、频繁 Full GC 内存泄漏、大对象分配、缓存膨胀
磁盘 I/O 平均队列长度 < 2 await > 50ms、%util > 90% 日志写入过猛、慢查询、索引缺失
网络 带宽使用率 < 70% 丢包率 > 0.1%、重传率 > 1% 带宽不足、连接数超限、DNS 解析慢

2.3 指标之间的联动关系

单一指标无法定位问题。性能分析的核心是观察指标之间的“联动变化”。下面这张图展示了压力增加时,各指标的典型变化曲线:

压力增加时指标联动变化曲线 压力增加时指标联动变化曲线 指标值 并发用户数(压力) 0 低 中 高 饱和 TPS 响应时间 CPU ▼ 拐点 拐点左侧:系统健康,线性增长;拐点右侧:资源耗尽,响应时间急剧上升,TPS 不再增长

2.4 实战:如何选择核心指标

不同角色的关注点不同。在制定测试方案时,建议按以下优先级选择指标:

  1. 业务方 / 产品经理: 关注 TPS(业务处理能力)和 TP99 响应时间(用户体验)。
  2. 开发工程师: 关注 QPS(接口性能)、错误率、慢查询日志。
  3. 运维 / DBA: 关注 CPU 利用率、内存使用率、磁盘 I/O、网络带宽。
  4. 测试工程师: 需要同时关注以上所有指标,并建立指标之间的关联分析。
📋 测试报告模板(最小集):
· 测试场景描述
· 并发用户数梯度(如:10 → 50 → 100 → 200)
· 每个梯度下的 TPS、TP99、错误率、CPU 峰值
· 瓶颈点分析(哪个指标先达到阈值)
· 结论:系统最大支撑并发数及对应的 TPS

2.5 本章小结

  • TPS/QPS 是系统的“速度表”,衡量处理能力。
  • 响应时间 是用户的“体验表”,重点关注 TP99。
  • 并发用户数 是施加的“负载”,通过 Little's Law 与 TPS 和 RT 关联。
  • 吞吐量 是系统的“容量”,与 TPS 互补使用。
  • 资源利用率 是系统的“健康表”,CPU 和内存是首要监控对象。
  • 性能分析不是看单一指标,而是观察指标之间的联动变化,找到“拐点”。