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)。