服务器 - - QPS与TPS介绍

1、QPS**(Queries Per Second 每秒查询数)**

定义:常用于表示每秒的请求次数,衡量接口请求、数据库查询等动作的吞吐量(单位时间内处理的数据量)

计算:总请求数/请求时间,如:10秒内请求了200次接口,QPS = 200 / 10

会受服务器性能、网速、代码效率(算法复杂度、SQL查询语句)影响

2、TPS**(Transactions Per Second 每秒事务数)**

定义:表示系统每秒处理业务的动作,常用于支付系统、订单系统等需要业务完整性的场景

计算:总事务数/总耗时数,如:清空购物车时,同时支付了所有订单(100个订单),系统5秒内完成所有支付业务,TPS = 100 / 5

会受数据库事务锁(mysql死锁)、分布式事务协调、磁盘I/O性能(日志写入速度)影响

总结:

1TPS可能包含多个QPS(创建订单 - - 扣除库存),即 TPS >= QPS

提升QPS/TPS:

1.提高 QPS

  • 使用缓存(Redis、CDN)减少数据库查询。

  • 优化代码(减少循环、避免阻塞 I/O)。

  • 负载均衡(Nginx 分发请求到多台服务器)。

  • 异步处理(如 MQ 削峰填谷)。

2.提高 TPS

  • 数据库优化(索引、分库分表)。

  • 减少事务锁竞争(乐观锁、减小事务粒度)。

  • 使用更高效的事务模型(如 MySQL 的 MVCC)。

  • 分布式事务优化(如 TCC 模式替代 2PC)。

相关推荐
小江的记录本8 小时前
【Java基础】Java 8-21新特性:JDK21 LTS:虚拟线程、模式匹配switch、结构化并发、序列集合(附《思维导图》+《面试高频考点清单》)
java·数据库·python·mysql·spring·面试·maven
June`8 小时前
多线程redis下如何解决aof重写和rdb持久化的数据一致性问题
数据库·redis·缓存
二宝哥9 小时前
离线安装maven
java·数据库·maven
SZLSDH9 小时前
场景适配论 | 数字孪生IOC建设中渲染技术与智能体能力的协同逻辑
前端·数据库·ai·数字孪生·数据可视化·智能体
这个DBA有点耶9 小时前
SQL改写实战:子查询、CTE、窗口函数性能对比
数据库·mysql·性能优化
@我漫长的孤独流浪9 小时前
数据库完整性约束全解析:从理论到实践
数据库
l1t9 小时前
DeepSeek总结的 DuckDB 1.5.3:并非普通的补丁版本
数据库·duckdb
云商直通车9 小时前
华为云ECS购买与配置超详细教程
服务器·数据库·华为云
hj104310 小时前
fastadmin对接人大金仓 kingbase问题记录&解决
数据库
罗超驿10 小时前
19.告别复杂SQL!用MySQL视图把逻辑拆成“变量”式操作
数据库·mysql·面试