TPS、QPT、RT、并发数

TPS 是什么?

TPS 全称是 Transactions Per Second,翻译为每秒事务数,是衡量系统处理能力的核心性能指标之一

  • 事务是 一个完整的业务流程: 比如你在邮箱里处理一封邮件,整个流程(接收、解析、存储、响应)就是一个 “事务”。
  • TPS 就是系统每秒能完成多少个这样的完整事务

QPS 是什么?

QPS 全称是 Queries Per Second,翻译为每秒查询数/请求数,是衡量系统请求处理能力的核心性能指标之一。

  • 比如用户刷新邮箱列表、点击查看邮件、发送邮件,每一次客户端向服务器发起的 “请求”,都算一次查询 / 请求。
  • QPS 就是系统每秒能响应多少个这样的独立请求

QPS 是最基础的指标之一,它直接反映了系统的请求吞吐能力。通常来说,QPS 越高,系统的请求处理效率越强;但如果 QPS 过高,超过了系统的处理上限,就会出现请求排队、延迟增加甚至超时的情况。

二者之间的关系?

一个 TPS 可能包含多个 QPS

举个例子:用户发一封邮件,流程是:

  1. 客户端发起 “提交邮件内容” 请求(QPS+1)
  2. 服务器请求数据库写入数据(QPS+1)
  3. 服务器返回 “发送成功” 响应(QPS+1)这一整套流程完成,只算 1 个 TPS,但产生了 3 个 QPS

适用场景

  • QPS 更适合衡量接口、数据库、缓存等底层服务的请求处理能力,比如:

    • 数据库每秒能处理多少条 SQL 查询
    • Redis 每秒能响应多少个读写请求
  • TPS 更适合衡量完整业务流程的处理能力,比如下单、转账、邮件发送等。

二者之间的区别? 面试题

tps和qps的区别?

tps是每秒钟通过的事务数,站在客户端角度描述性能

qps是每秒钟处理的请求数,站在服务端角度描述性能

qps是tps的n倍

RT 是什么?

RT 全称是 Response Time ,翻译为响应时间,单次请求/事务的耗时

例如一个完整的 http 请求 (DNS 域名解析-->tcp 三次握手.....)所需时间,亦或者是一个 sql 查询所用的时间等等等

并发数是什么?

同时处理的请求数

核心换算公式(性能测试必用)

1.并发数、QPS、RT 的核心关系
这是性能测试最基础的三角关系,所有换算都基于它:

并发数= QPS * RT(秒)

说明:系统同时处理的请求数,等于每秒请求数 × 每个请求的耗时(换算成秒)。
例子:QPS=100,RT=200ms(0.2 秒),则并发数 = 100×0.2=20。

为什么并发数= QPS RT(秒) from 豆包

举个生活例子,秒懂公式

假设:

  • 奶茶店每秒能接待 2 个顾客(QPS=2
  • 每个顾客从点单到拿到奶茶,需要 3 秒(RT=3 秒

我们来推演一下:

  1. 第 1 秒:来了 2 个顾客,开始做奶茶,此时店里有 2 个顾客
  2. 第 2 秒:又来了 2 个顾客,店里现在有 4 个顾客
  3. 第 3 秒:又来了 2 个顾客,店里现在有 6 个顾客
  4. 第 4 秒:第 1 秒来的 2 个顾客拿到奶茶离开了,店里还有 第 2、3 秒来的 4 个顾客

你会发现,当业务稳定后,店里同时存在的顾客数,永远是 2×3=6 个

  • 每秒来 2 个,每个待 3 秒,所以店里永远有「每秒新来的 × 停留时间」这么多人。

这个「店里同时存在的顾客数」,就是并发数!所以公式就是:

并发数 = QPS RT(秒)

实例来证明并发数= QPS * RT(秒)

2.QPS 与 TPS 的关系

核心逻辑:1 个事务 = N 个请求(QPS)

QPS= TPS * 每个事务的请求数

说明:用户下单 1 次(1 个 TPS),需要调用 “查询库存 + 扣库存 + 创建订单 + 支付回调”4 个接口(4 个 QPS),则 QPS=TPS×4。

3.峰值 tps/qps 计算

通用步骤:

以下应用 2 / 8 原则
  1. 按 80-20 原则拆分业务量:高峰期业务量 = 年业务量 × 80%
  2. 计算高峰期总秒数:高峰期总秒数 = 高峰月数 × 每月工作日 × 每天小时 × 3600 × 20%
  3. 计算 TPS:TPS = 高峰期业务量 / 高峰期总秒数
  4. 换算 QPS:如果每个事务对应 N 个请求,QPS=TPS×N。

一些补充:

  1. 指标误区避坑
    ❌ 误区:QPS 越高,系统性能越好
    ✅ 纠正:必须结合 RT 看!如果 QPS=1000,但 RT=5 秒,用户体验极差;反而 QPS=500、RT=100ms 的系统,用户体验更好。
    ❌ 误区:TPS=QPS
    ✅ 纠正:只有 1 个事务对应 1 个请求时,两者才相等,绝大多数业务场景下 TPS < QPS。
  2. 性能压测的设计逻辑
    目标:先定业务 TPS,再推导出需要的 QPS、并发数和服务器数量。
    例子:邮箱系统目标 TPS=2(每秒处理 2 封邮件),每封邮件对应 5 个请求,则目标 QPS=2×5=10,若单台服务器最大 QPS=5,则需要 2 台服务器。
  3. 和之前的题目联动回顾
    我们之前算的邮箱 TPS≈1.74,现在结合公式延伸:
    假设处理 1 封邮件需要调用 3 个接口(接收、存储、写日志),则目标 QPS=1.74×3≈5.22
    若每个请求的 RT=200ms,则并发数 = 5.22×0.2≈1.04,也就是系统同时处理的请求数只需 1~2 个,就能支撑业务需求。