服务器 - - 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)。

相关推荐
jiunian_cn18 分钟前
【Redis】zset数据类型相关指令
数据库·redis·缓存
betazhou38 分钟前
MySQL相关性能查询语句
android·数据库·mysql
jiunian_cn38 分钟前
【Redis】set数据类型相关指令
数据库·redis·缓存
松涛和鸣1 小时前
DAY69 Practical Guide to Linux Character Device Drivers
linux·服务器·arm开发·数据库·单片机·嵌入式硬件
咩咩不吃草1 小时前
Linux环境下MySQL的安装与使用与Navicat
linux·运维·数据库·mysql·navicat
Aloudata1 小时前
NoETL 指标平台如何保障亿级明细查询的秒级响应?——Aloudata CAN 性能压测深度解析
数据库·数据分析·自动化·指标平台
maoku661 小时前
从关键词到语义:向量数据库如何让AI真正理解你的需求
数据库·人工智能
寻道码路1 小时前
【MCP探索实践】Google GenAI Toolbox:Google开源的企业级AI数据库中间件、5分钟搞定LLM-SQL安全互联
数据库·人工智能·sql·开源·aigc
数据知道1 小时前
PostgreSQL 核心原理:一文掌握 WAL 缓冲区与刷盘策略(性能与数据安全的权衡)
数据库·postgresql
三个人工作室1 小时前
mysql允许所有ip地址访问,mysql允许该用户访问自己的数据库【伸手党福利】
数据库·tcp/ip·mysql