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

相关推荐
像风一样!3 小时前
MySQL Galera Cluster部署如何实现负载均衡和高可用
数据库·mysql
last_zhiyin4 小时前
Oracle sql tuning guide 翻译 Part 6-4 --- Hint使用准则和Hint使用报告
数据库·sql·oracle·sql tunning
chenchihwen5 小时前
AI代码开发宝库系列:FAISS向量数据库
数据库·人工智能·python·faiss·1024程序员节
小光学长5 小时前
基于Vue的课程达成度分析系统t84pzgwk(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
前端·数据库·vue.js
摇滚侠6 小时前
全面掌握PostgreSQL关系型数据库,备份和恢复,笔记46和笔记47
java·数据库·笔记·postgresql·1024程序员节
周杰伦fans6 小时前
Navicat - 连接 mysql 、 sqlserver 数据库 步骤与问题解决
数据库·mysql·sqlserver
码以致用7 小时前
StarRocks笔记
数据库·starrocks·olap·1024程序员节
auspicious航7 小时前
PostgreSQL数据库关于pg_rewind的认识
数据库·postgresql·oracle
武子康8 小时前
Java-159 MongoDB 副本集容器化 10 分钟速查卡|keyfile + –auth + 幂等 init 附 docker-compose
java·数据库·mongodb·docker·性能优化·nosql·1024程序员节
zz-zjx8 小时前
MySQL 索引深度指南:原理 · 实践 · 运维(适配 MySQL 8.4 LTS)
运维·数据库·mysql