TPS、QPS 详细区别、计算公式、换算
TPS、QPS 详细区别、计算公式、换算
一、基础定义
1. QPS(Queries Per Second)
每秒查询率 / 每秒请求数
指:服务器每秒能够接收并处理的请求总次数
适用范围:所有接口、HTTP 请求、数据库查询、Redis 查询都可以叫 QPS
侧重:单次网络请求
举例:
用户打开页面,前端向后端发起 5 个接口请求,这就是 5 次 QPS
2. TPS(Transactions Per Second)
每秒事务数
指:每秒完成一笔完整业务事务的数量
侧重:一套连贯的业务流程(一次完整用户操作)
举例:
一笔下单完整链路:登录→加购→提交订单→扣库存→支付
整套流程走完,才算 1 个 TPS,这条链路内部会产生多个接口请求(多个 QPS)
二、核心区别对照表
表格
| 维度 | QPS | TPS |
|---|---|---|
| 含义 | 每秒单个接口请求次数 | 每秒完整业务事务次数 |
| 统计对象 | 单次 API 请求 | 整套业务流程 |
| 大小关系 | QPS > TPS | TPS < QPS |
| 使用场景 | 单接口压测、网关、中间件、数据库 | 业务链路压测、电商下单、支付场景 |
| 通俗比喻 | 每秒敲多少次门 | 每秒有多少客人完整进店消费一遍 |
三、相互换算公式
假设:完成 1 笔事务需要调用 N 个接口
\(QPS = TPS × 单事务接口调用次数\)
示例:
下单一趟要调用 8 个接口
系统 TPS=100(每秒 100 个人下单)
QPS = 100 × 8 = 800
四、和并发用户数、响应时间 RT 的关联公式(性能测试核心公式)
经典性能计算公式
\(TPS = 并发数 / 平均响应时间(秒)\)
推导变形:
并发用户数 = TPS × RT
举例:
并发 200 用户,接口平均响应时间 0.2s
TPS = 200 / 0.2 = 1000
注意:公式理想状态下成立;真实场景有思考时间、网络波动,数值会偏低。
带上用户思考时间(真实线上场景)
线上用户不会不停点击,操作完会停顿浏览页面(思考时间 Think Time)
\(TPS = 并发数 / (RT + 思考时间)\)
五、日常使用场景区分
- 测单个接口性能:统一用 QPS
比如:查询商品详情接口最大承载、Redis 读取、MySQL 查询性能
- 测整条业务链路(下单、支付、秒杀):统一用 TPS
电商、支付、银行系统性能指标均以 TPS 作为业务验收标准
六、常见面试易错点
- QPS 永远大于 TPS ✅
- 响应时间越长,同等并发下 TPS 越低 ✅
- 并发不断拉高,前期 TPS 持续上涨;到达系统瓶颈后,TPS 不再上升、RT 急剧拉长、错误率上升
- 数据库层面一般只说 QPS,不说 TPS
七、配套常用性能指标搭配
日常压测验收指标一套组合:
TPS/QPS + 95% 响应时间 RT + 错误率 + CPU / 内存使用率
浙公网安备 33010602011771号