20250217 隨筆 TPS 和 QPS

TPS 和 QPS 的区别

在系统性能测试、压力测试或高并发优化中,TPS(Transactions Per Second)QPS(Queries Per Second) 是两个常用的性能指标。它们的核心区别如下:

指标全称含义适用场景
TPSTransactions Per Second每秒处理的事务数量事务型系统(如支付、银行系统)
QPSQueries Per Second每秒处理的查询请求数搜索、接口调用、数据库查询

📌 1. 什么是 TPS(Transactions Per Second)?

TPS(每秒事务处理量) 指的是 系统每秒能处理的完整事务(Transaction)数量

🔹 特点

  • 事务(Transaction)通常包含多个请求(如读写数据库、调用多个接口)。
  • TPS 关注的是整个事务流程,而不仅仅是单个请求。
  • 适用于 支付系统、银行转账、订单处理 等事务型系统。

🔹 示例

银行转账事务

  1. A 发起转账请求。
  2. 系统检查 A 的账户余额。
  3. 系统扣减 A 的金额,增加 B 的金额。
  4. 生成交易记录,并通知 A 和 B。

如果系统 1 秒内可以完成 500 次完整的转账操作,那么 TPS = 500。


📌 2. 什么是 QPS(Queries Per Second)?

QPS(每秒查询率) 指的是 服务器每秒处理的查询(Query)次数

🔹 特点

  • QPS 代表的是独立的查询请求,而不是完整的事务
  • 适用于 搜索引擎、数据库查询、Web API 请求
  • 通常 TPS 包含多个 QPS,一个事务可能涉及多个查询请求。

🔹 示例

搜索引擎

  • 用户在搜索框输入 "TPS vs QPS",搜索引擎会执行:
    1. 查询 用户历史记录
    2. 查询 搜索关键词的相关文档
    3. 查询 广告推荐
    4. 查询 个性化推荐

如果搜索引擎每秒可以处理 10000 次查询请求,那么 QPS = 10000


📌 3. TPS 和 QPS 的关系

一般情况下:

QPS ≥ TPS

因为:

  • 一个 事务(Transaction) 通常包含 多个查询(Query)
  • QPS 是所有请求的总和,而 TPS 关注的是业务层面的完整事务

🔹 计算公式

假设:

  • 每个事务(Transaction)包含 5 个查询(Query)
  • TPS = 100
  • 那么 QPS = 100 × 5 = 500

所以:

QPS = TPS × 每个事务的查询数
TPS = QPS ÷ 每个事务的查询数

📌 4. 适用场景

场景适用指标解释
支付系统TPS关注完整支付流程的吞吐量
数据库查询QPS关注数据库每秒查询能力
API 网关QPS关注 HTTP 请求量
电商订单系统TPS关注用户下单成功率
搜索引擎QPS关注用户查询处理能力

📌 5. 总结

指标关注点示例
TPS(事务处理量)每秒完成的事务数量100 个用户下单
QPS(查询请求数)每秒处理的查询请求数10000 次数据库查询

✅ 记住

  • TPS = 整个业务流程
  • QPS = 具体查询请求
  • QPS ≥ TPS,通常一个事务包含多个查询。

💡 如果你要优化数据库或 API,可以关注 QPS;如果要优化业务流程吞吐量,可以关注 TPS。 🚀

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值