性能测试核心指标
返回一、为什么需要性能指标
在性能测试中,我们需要通过一系列指标来评估系统的性能表现。
这些指标可以帮助我们回答以下问题:
- 系统每秒能处理多少请求?
- 用户请求的响应速度是否足够快?
- 系统在高并发情况下是否稳定?
- 系统资源是否成为瓶颈?
性能测试最常见的核心指标包括:
- QPS(每秒请求数)
- TPS(每秒事务数)
- 响应时间(Response Time)
- 并发数(Concurrency)
- 吞吐量(Throughput)
- 错误率(Error Rate)
- P95 / P99 响应时间
这些指标共同构成了系统性能评估的基础。
二、QPS(Queries Per Second)
定义
QPS 表示系统 每秒处理的请求数量。
简单来说:
QPS 表示系统的处理能力。
例如:
系统每秒处理 2000 个 HTTP 请求
则:
QPS = 2000
示例
假设在压测过程中:
10 秒内处理 10000 个请求
计算公式:
QPS = 请求总数 / 时间
计算结果:
QPS = 10000 / 10 = 1000
适用场景
QPS 常用于:
- Web API
- 搜索系统
- 查询接口
三、TPS(Transactions Per Second)
定义
TPS 表示系统 每秒完成的事务数量。
事务通常表示 一个完整业务操作。
例如:
- 创建订单
- 支付订单
- 用户注册
示例
如果系统:
每秒完成 500 次订单创建
则:
TPS = 500
QPS 和 TPS 的区别
| 指标 | 含义 |
|---|---|
| QPS | 每秒处理请求数 |
| TPS | 每秒完成业务事务数 |
例如:
创建订单可能包含:
1 次用户查询
1 次库存查询
1 次订单写入
那么:
1 TPS ≈ 多个 QPS
四、响应时间(Response Time)
定义
响应时间是指:
用户发送请求到系统返回响应所需要的时间。
例如:
请求接口:/api/product/list
响应时间:120ms
响应时间组成
响应时间通常包括:
网络时间
服务器处理时间
数据库查询时间
例如:
网络延迟:20ms
服务器处理:60ms
数据库查询:40ms
总响应时间:
RT = 120ms
响应时间的重要性
响应时间直接影响用户体验:
| 响应时间 | 用户体验 |
|---|---|
| <100ms | 非常快 |
| 100-300ms | 良好 |
| 300-1000ms | 可接受 |
| >1s | 用户明显感到慢 |
五、并发数(Concurrency)
定义
并发数表示 同时向系统发起请求的用户数量。
例如:
同时有 1000 个用户访问系统
则:
并发数 = 1000
并发与用户数的区别
| 概念 | 含义 |
|---|---|
| 用户数 | 系统总用户数量 |
| 并发数 | 同时发起请求的用户数量 |
例如:
系统用户:100000
同时在线:5000
同时请求:1000
则:
并发数 = 1000
六、吞吐量(Throughput)
定义
吞吐量表示系统在单位时间内处理的数据量或请求数量。
常见单位包括:
requests/s
transactions/s
MB/s
示例
例如:
系统每秒处理 3000 个请求
则:
吞吐量 = 3000 requests/s
七、错误率(Error Rate)
定义
错误率表示请求失败的比例。
计算公式:
错误率 = 失败请求数 / 总请求数
示例
如果压测过程中:
总请求:100000
失败请求:200
则:
错误率 = 200 / 100000 = 0.2%
在很多系统中要求:
错误率 < 0.1%
八、P95 / P99 响应时间
平均响应时间往往不能反映真实用户体验,因此通常使用 百分位响应时间。
P95 表示:
95% 的请求响应时间小于这个值。
例如:
P95 = 200ms
表示:
95% 请求 < 200ms
P99 表示:
99% 的请求响应时间小于这个值。
例如:
P99 = 400ms
P99 能反映系统在高压力情况下的表现。
为什么 P95/P99 更重要
平均值可能被少量数据掩盖,例如:
90 个请求 = 50ms
10 个请求 = 2000ms
平均值:
平均 = 245ms
但实际用户体验会很差。
因此:
企业通常更关注 P95 / P99
九、性能测试核心公式
在性能测试中有一个非常重要的关系公式:
QPS ≈ 并发数 / 响应时间
例如:
并发数 = 100
响应时间 = 100ms
换算:
100ms = 0.1s
计算:
QPS ≈ 100 / 0.1 = 1000
这个公式可以帮助我们:
- 估算系统性能
- 设计压测方案
- 分析瓶颈
十、总结
性能测试中最重要的指标包括:
- QPS:每秒请求数
- TPS:每秒事务数
- 响应时间:请求处理时间
- 并发数:同时请求数量
- 吞吐量:系统处理能力
- 错误率:请求失败比例
- P95 / P99:响应时间分布
其中最关键的关系是:
QPS ≈ 并发数 / RT
理解这些核心指标,是进行性能测试和性能优化的基础。