一张图看懂 QPS、TPS、并发数、RT、吞吐量及其区别
| 术语 | 含义 | 关注重点 | 常见单位 | 典型场景 |
|---|---|---|---|---|
| QPS | 每秒查询/请求数 | 接口能接多少请求 | 次/秒 | 搜索、查询接口、缓存读 |
| TPS | 每秒事务数 | 业务完整操作完成多少 | 事务/秒 | 下单、支付、转账 |
| 并发数 | 同一时刻处理中的请求数 | 系统瞬时承载能力 | 个 | 秒杀、抢购、长连接 |
| RT | 响应时间 | 处理快慢与稳定性 | ms | 用户体验、SLA 指标 |
| 吞吐量 | 单位时间完成的工作量 | 最终产出效率 | req/s、MB/s、条/秒 | 文件传输、批处理、MQ |
说明:假设每个请求对应一个事务,且系统资源充足、无排队。拖动滑块即可实时观察 QPS、TPS、吞吐量的联动变化。
活动开始瞬间,100 万人同时点"立即购买",这就是高并发。服务器每秒收到 10 万次查询库存请求,这是 QPS = 10万。但真正扣库存、生成订单成功的每秒只有 5000 笔,这是 TPS = 5000。用户从点击到看到结果平均要等 300ms,这是 RT = 300ms。整个系统每秒交付 5000 个订单,这是吞吐量 = 5000 单/秒。
一个 CDN 节点同时有 200 个用户在下载视频,这是并发数 = 200。每个用户每秒下载 2MB,节点总吞吐量 = 400 MB/s。这里用 MB/s 比 req/s 更合适,说明吞吐量的口径是灵活的。
某接口走缓存时 RT = 5ms,并发数 50 时估算 QPS ≈ 50 / 0.005 = 10000。同一接口若穿透到数据库,RT 变成 100ms,同样并发数 50 时 QPS 只剩 500。RT 增加 20 倍,QPS 下降 20 倍——这就是为什么要加缓存。
| 误区 | 正解 |
|---|---|
| QPS 高 = 系统快 | 不一定。高 QPS 可能靠堆机器或高并发换来,RT 可能很慢,用户体验仍差。 |
| TPS = QPS | 只有"一个请求就是一个完整事务"时才相等。多数业务一个事务会触发多次请求/查询。 |
| 并发数 = QPS | 并发数是"同时处理中",QPS 是"每秒完成"。两者通过 RT 关联:QPS ≈ 并发数 / RT。 |
| 吞吐量就是 QPS | 吞吐量是更宽泛的概念,QPS 是吞吐量按"请求数"计量的一种形式。 |
| 只看平均 RT | 平均 RT 容易被长尾请求拉平,必须结合 P95/P99 才能反映真实用户体验。 |