QPS、TPS、RPS 详解

QPS、TPS、RPS 详解

1. QPS(Queries Per Second,每秒查询率)
  • 定义:系统每秒处理的查询请求数量
  • 应用场景:数据库、搜索引擎等查询密集型系统
  • 计算公式
    QPS=总查询量统计时间(秒) \text{QPS} = \frac{\text{总查询量}}{\text{统计时间(秒)}} QPS=统计时间(秒)总查询量
  • 示例 :某数据库1分钟处理3600次查询,则:
    QPS=360060=60 \text{QPS} = \frac{3600}{60} = 60 QPS=603600=60
2. TPS(Transactions Per Second,每秒事务数)
  • 定义:系统每秒完成的事务处理数量
  • 核心特征
    • 事务需满足ACID特性(原子性、一致性、隔离性、持久性)
    • 一个事务可能包含多个操作(如数据库的增删改查组合)
  • 计算公式
    TPS=成功事务数统计时间(秒) \text{TPS} = \frac{\text{成功事务数}}{\text{统计时间(秒)}} TPS=统计时间(秒)成功事务数
  • 典型场景:支付系统、银行交易等需要事务完整性的场景
3. RPS(Requests Per Second,每秒请求数)
  • 定义:服务端每秒接收的客户端请求数量
  • 关键特性
    • 一个请求可能触发多个查询(RPS≤QPS\text{RPS} \leq \text{QPS}RPS≤QPS)
    • 与网络层性能强相关
  • 计算公式
    RPS=总请求数统计时间(秒) \text{RPS} = \frac{\text{总请求数}}{\text{统计时间(秒)}} RPS=统计时间(秒)总请求数
  • 应用场景:Web服务器、API网关等网络服务

三者的关系与区别

维度 QPS TPS RPS
度量对象 查询操作 完整事务 网络请求
粒度 单次操作 多操作组合 单次请求
典型场景 MySQL查询 银行转账 HTTP请求
数值关系 RPS≤QPS\text{RPS} \leq \text{QPS}RPS≤QPS TPS≤RPS\text{TPS} \leq \text{RPS}TPS≤RPS 基础请求量

性能优化要点

  1. QPS提升

    • 优化索引结构
    • 查询语句精简
    • 结果缓存机制
  2. TPS提升

    • 事务拆分(减小事务粒度)
    • 异步提交机制
    • 分布式事务优化
  3. RPS提升

    • 负载均衡配置
    • 连接复用(如HTTP Keep-Alive)
    • CDN加速静态资源

:实际系统中三者常联动使用。例如电商下单场景:1个RPS(HTTP请求)→ 触发3个QPS(库存查询/订单创建/支付)→ 组成1个TPS(完整订单事务)。

相关推荐
我会一直在的2 小时前
Jmeter的基础使用
功能测试·jmeter·压力测试
choke2337 小时前
软件性能测试实战:从基础概念到 JMeter 全组件使用
jmeter
网络安全-杰克1 天前
Jmeter压力测试工具安装与使用
自动化测试·软件测试·测试工具·jmeter·职场和发展
少云清3 天前
【金融项目实战】6_接口测试 _Jmeter自动化脚本实现(重点)
jmeter·自动化·金融项目实战
少云清3 天前
【金融项目实战】5_接口测试 _Jmeter功能脚本实现
jmeter·金融项目实战
卖个几把萌4 天前
【11】JMeter在GUI页面修改语言后右上角不显示线程数和持续时间问题解决
测试工具·jmeter
张永清-老清4 天前
每周读书与学习->JMeter性能测试脚本编写实战(四)-利用JMeter对MySQL数据库查询进行性能测试
学习·jmeter·性能调优·jmeter性能测试·性能分析·每周读书与学习
Jul1en_4 天前
【性能测试工具】JMeter下载安装、编辑环境变量和中文配置
测试工具·jmeter
一碗面4216 天前
Jmeter的进阶功能
jmeter
月明长歌8 天前
从零构建高并发测试体系:JMeter 接口压测与全链路实战指南
jmeter