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

相关推荐
2501_948195347 小时前
RN for OpenHarmony英雄联盟助手App实战:主导航实现
数据库
Filotimo_7 小时前
N+1查询问题
数据库·oracle
fenglllle8 小时前
spring-data-jpa saveall慢的原因
数据库·spring·hibernate
DarkAthena9 小时前
【GaussDB】执行索引跳扫时如果遇到该索引正在执行autovacuum,可能会导致数据查询不到
数据库·gaussdb
短剑重铸之日10 小时前
《7天学会Redis》Day 5 - Redis Cluster集群架构
数据库·redis·后端·缓存·架构·cluster
007php00710 小时前
mySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据
数据库·redis·git·mysql·面试·职场和发展·php
lkbhua莱克瓦2410 小时前
进阶-存储过程3-存储函数
java·数据库·sql·mysql·数据库优化·视图
老邓计算机毕设10 小时前
SSM心理健康系统84459(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·心理健康系统·在线咨询
碎像10 小时前
10分钟搞定 MySQL 通过Binlog 数据备份和恢复
数据库·mysql