TPS和QPS

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


1.TPS

Transactions Per Second,意思是每秒事务数。一个事务是指客户端向服务器发送请求然后服务器做出反应的过程,具体的事务定义,可以是一个接口、多个接口、一个业务流程等等。以单接口定义为事务举例,每个事务包括了如下3个过程:

  • (1)向服务器发请求
  • (2)服务器自己的内部处理(包含应用服务器、数据库服务器等)
  • (3)服务器返回结果给客户端

如果每秒能够完成 N 次以上3个过程,TPS 就是 N。

TPS 是软件测试结果的测量单位。我们在进行服务性能压测时,接口层面最常关注的是最大 TPS 以及接口响应时间,个人理解 TPS 可以指一组逻辑相关的请求,而服务整体处理能力取决于处理能力最低模块的TPS值。

2.QPS:

Queries Per Second,意思是每秒查询率。指一台服务器每秒能够响应的查询次数,用于衡量特定的查询服务器在规定时间内所处理流量多少,主要针对专门用于查询的服务器的性能指标,

  • 比如dns,它不包含复杂的业务逻辑处理,比如数据库中的每秒执行查询sql的次数。QPS
    只是一个简单查询的统计显然,不能描述增删改等操作,显然它不够全面,所以不建议用 QPS 来描述系统整体的性能;
  • QPS 基本类似于 TPS,但是不同的是,对于一个事务访问,会形成一个 " T ";但一次 " T "
    中,可能产生多次对服务器的请求,服务器对这些请求,就可计入 QPS 之中。

3.区别:

(1)如果是对一个查询接口压测,且这个接口内部不会再去请求其它接口,那么 TPS = QPS,否则,TPS ≠ QPS

(2)如果是容量场景,假设 N 个接口都是查询接口,且这个接口内部不会再去请求其它接口,QPS = N * TPS

相关推荐
Python私教3 分钟前
创业团队做管理系统,别先堆页面:我把 14 个问题做成了需求门禁
后端·python·架构
两万五千个小时7 分钟前
DeepSeek Harness 从 0 开始:19 jobs 后台任务
人工智能·程序员·架构
JimmtButler13 分钟前
功能明明正常,架构为什么还是会腐化?<第一章>
后端·架构
李高钢1 小时前
C# WinForms 架构与项目实战:多窗体通信、三层架构、数据库、日志与配置
架构·c#·winforms
许彰午1 小时前
06-EaEngine调度器
java·低代码·架构
天涯明月19932 小时前
Ray 架构解析——以动态任务图统一 AI 计算的分布式框架
大数据·人工智能·分布式·架构·ray
IT大白鼠2 小时前
Wazuh开源安全平台技术架构与功能特性深度解析
架构·开源xdr/siem
码域空间3 小时前
锁住了检查,锁不住延迟——MySQL 读写分离架构下双重检查模式失效实录
数据库·mysql·架构
Roadinforest3 小时前
Claude Code 架构深度解析:从 Agent Loop 到 Tool、MCP 与 Context
ai·架构·llm·agent·anthropic·claudecode