3分钟理清QPS、TPS、RT 以及它们之间的关系
在评估系统性能的时候,我们经常会听到 QPS、TPS、RT、吞吐量等等一些概念,包括在一些面试场景下可能也会遇到这些概念,我们来稍微梳理一下。
做一个简单的概念扫盲。
一 QPS
QPS(Queries Per Second) 是每秒的查询率,它表示一台服务每秒响应的查询的次数。
具体来说,QPS 反映了系统在高并发环境下处理请求的能力。一个高 QPS 的系统能够在单位时间内处理更多的请求,从而提供更好的用户体验和更高的吞吐量。相反,QPS 较低的系统可能在面对大量请求时会出现响应延迟或请求失败的情况。
举个栗子:
假设服务器 1 秒响应 500 次请求,那么此时 QPS 就是 500。
二 TPS
TPS(Transactions Per Second) 表示每秒事务处理的数量,一个事务表示客户端向服务器发送请求,然后响应的过程。
举个栗子
比如用户在 jd 上下单的时候,每当用户下单请求被服务器接受到之后,服务需要保存订单、扣减商品库存、确认支付等等这一些列的操作,所有过程都完成后,将结果响应给客户端。这个完整的过程就是一次事务,TPS 则表示每秒内可以完成多少次这样的请求。
整体上来说,一个 TPS 包括了三个部分:
- 用户请求服务器
- 服务器自己的内部处理
- 服务器返回给用户
这样一个完整的过程就是一个 TPS。
有的小伙伴分不清 TPS 和 QPS,简单来说是这样:
- 如果是对一个查询接口压测,且这个接口内部不会再去请求其它接口,那么 TPS = QPS,否则,TPS ≠ QPS。
- 如果是容量场景,假设 N 个接口都是查询接口,且这个接口内部不会再去请求其它接口,QPS = N * TPS。
第一点好理解,针对第二点我举一个简单的案例:假设请求一个页面,这就是一个 TPS,这个页面中又发送了 5 次请求向服务器加载数据,那么 QPS=TPS*5
。
三 RT
RT(Response-time)响应时间,这个表示执行一个请求从开始到最后收到响应数据所花费的总时间,即从客户端发起请求到收到服务器响应结果的时间。
如果忽略网络传输时间,响应时间是处理时间和等待时间的总和,其中:
- 处理时间是完成请求要求的工作所需的时间
- 等待时间是请求在被处理之前必须在队列中等待的时间
RT 是一个系统最重要的指标之一,它的数值大小直接反应了系统的快慢。
举个栗子
这里,RT = T2 - T1。
四 并发数
系统并发数是指在某一时刻,系统中能够同时处理的请求数量。这个指标通常用来衡量系统在高负载情况下的性能和处理能力。
五 几个概念之间的关系
除了前面第二小节和大家介绍的 TPS 和 QPS 之间的公式之外,再给小伙伴们两个公式:
- RT = 并发数/QPS
- QPS = 并发数/RT
好啦,几个常见的概念,小伙伴搞懂了吧~

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
深入解析 DolphinScheduler 任务调度、拆分与执行全流程
Apache DolphinScheduler介绍 Apache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。 Dag背景知识 摘录了一下Dag的offical定义 A graph is formed by vertices and by edges connecting pairs of vertices, where the vertices can be any kind of object that is connected in pairs by edges. In the case of a directed graph, each edge has an orientation, from one vertex to another vertex. A path in a directed graph is a sequence of edges having the property that the ending vertex of ea...
- 下一篇
如何通过 Apache Camel 将数据导入 Elasticsearch
作者:来自 ElasticAndre Luiz 使用 Apache Camel 将数据提取到 Elasticsearch 的过程将搜索引擎的稳健性与集成框架的灵活性相结合。在本文中,我们将探讨 Apache Camel 如何简化和优化将数据提取到 Elasticsearch。为了说明此功能,我们将实现一个入门应用程序,逐步演示如何配置和使用 Apache Camel 将数据发送到 Elasticsearch。 什么是 Apache Camel? Apache Camel 是一个开源集成框架,可简化不同系统的连接,使开发人员可以专注于业务逻辑,而不必担心系统通信的复杂性。Camel 的核心概念是 “routes - 路由”,它定义了消息从源到目的地所遵循的路径,可能包括转换、验证和过滤等中间步骤。 Apache Camel 架构 Camel 使用 “components- 组件” 连接不同的系统和协议,例如数据库和消息传递服务,并使用 “endpoints- 端点” 表示消息的入口点和出口点。这些概念提供了模块化和灵活的设计,使配置和管理复杂集成变得更加容易,高效且可扩展。 使用 Ela...
相关文章
文章评论
共有0条评论来说两句吧...