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

相关推荐
小杍随笔13 小时前
【iNovel 后端架构深度解析:基于 Rust + Tauri 2 的桌面应用服务端设计】
jvm·架构·rust
小杍随笔13 小时前
Axum+Leptos全栈集成实战
开发语言·后端·架构·rust
Shota Kishi13 小时前
基于 Solana Geyser gRPC 数据流的 pump.fun 代币铸造实时检测:流式架构与 HTTP/2 协议分析
网络协议·http·架构
JAVA面经实录91713 小时前
原码反码补码编码架构与进制底层设计思想
java·架构
heimeiyingwang13 小时前
【架构实战】容器网络CNI:让Pod与Pod、Pod与外界自由通信
网络·架构
容器魔方13 小时前
Kthena Router ScorePlugin 架构与基准测试分析
人工智能·云原生·容器·架构·开源
小杍随笔13 小时前
【iNovel 前端架构深度解析:基于 Vue 3 + TypeScript + Tauri 的跨端小说写作工具】
前端·架构·typescript
龙佚13 小时前
噪声抑制技术:让语音更清晰
算法·架构
heimeiyingwang13 小时前
【架构实战】链路追踪SkyWalking:让请求无所遁形
架构·skywalking