高并发性能指标 | 豆包MarsCode AI刷题

180 阅读4分钟

学习背景

昨天遇到了高并发情况引起的限流问题,接触到了QPS的高并发性能指标,现在对相关指标进行梳理与学习。

QPS

定义

  • QPS是指每秒处理的查询次数。通常用于衡量Web应用、API接口或数据库系统的处理能力。

Queries Per Second是衡量信息检索系统(例如搜索引擎或数据库)在一秒钟内接收到的搜索流量的一种常见度量。该术语在任何请求-响应系统中都得到更广泛的使用,更正确地称为每秒请求数(RPS:Request Per Second)。

高性能、高并发、高可用(简称“三高”)要求的系统必须注意其QPS,才能知道何时扩容系统以处理更多请求。

  • QPS是指每秒处理的查询次数。通常用于衡量Web应用、API接口或数据库系统的处理能力。

用途

  • 评估系统的处理能力和负载承受能力。
  • 监控系统在高并发情况下的表现。

计算公式

QPS=总查询次数时间/时间(秒)

TPS

定义

  • TPS是指每秒处理的事务数。通常用于衡量数据库系统、支付系统等事务处理密集型系统的性能。

TPS:是Transactions Per Second的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户端向服务器发送请求然后服务器做出响应的过程。客户端在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。

QPS vs TPS:QPS基本类似于TPS,但是不同的是,对于一个页面的一次访问,形成一个TPS;但一次页面请求,可能产生多次对服务器的请求,服务器对这些请求,就可计入“QPS”之中。如,访问一个页面会请求服务器2次,一次访问,产生一个“T”,产生2个“Q”。

用途

  • 评估系统的事务处理能力。
  • 监控系统的事务处理效率和稳定性。

计算公式

TPS=总事务数/时间(秒)

RT

定义

  • RT是指系统处理一个请求所需的时间。通常包括请求的发送时间、处理时间和响应的接收时间。

RT(Response-time)响应时间:执行一个请求从开始到最后收到响应数据所花费的总体时间,即从客户端发起请求到收到服务器响应结果的时间。该请求可以是任何东西,从内存获取,磁盘IO,复杂的数据库查询或加载完整的网页。

暂时忽略传输时间,响应时间是处理时间和等待时间的总和。处理时间是完成请求要求的工作所需的时间,等待时间是请求在被处理之前必须在队列中等待的时间。

响应时间是一个系统最重要的指标之一,它的数值大小直接反应了系统的快慢。

用途

  • 评估系统的响应速度和用户体验。
  • 发现系统中的性能瓶颈。

常见统计指标

  • 平均响应时间(Average RT) :所有请求的平均响应时间。
  • P95(95th Percentile) :95%的请求在多少时间内完成。
  • P99(99th Percentile) :99%的请求在多少时间内完成。

Concurrency

定义

  • 并发数是指系统在同一时间能够处理的请求数量。反映了系统的并发处理能力。 并发数是指系统同时能处理的请求数量,这个也反映了系统的负载能力。

并发意味着可以同时进行多个处理。并发在现代编程中无处不在,网络中有多台计算机同时存在,一台计算机上同时运行着多个应用程序。

用途

  • 评估系统的并发处理能力和负载承受能力。
  • 优化系统设计,提高并发性能。

计算公式

并发数=总请求数×平均响应时间(秒)/时间(秒)

吞吐量

系统的吞吐量(承压能力)和处理对CPU的消耗、外部接口、IO等因素紧密关联。单个处理请求对CPU消耗越高,外部系统接口、IO速度越慢,系统吞吐能力越低,反之越高。

指标参数

系统吞吐量有几个重要指标参数:QPS(TPS)、并发数、响应时间。

  • QPS(TPS):(Queries Per Second)每秒钟请求/事务数量。
  • 并发数: 系统同时处理的请求/事务数。
  • 响应时间: 一般取平均响应时间。

关系

  • QPS(TPS)= 并发数/平均响应时间
  • 并发数 = QPS*平均响应时间

定义

  • 吞吐量是指单位时间内系统能够处理的工作量。通常以每秒处理的请求数量或事务数量来表示。

用途

  • 评估系统的整体处理能力和效率。
  • 监控系统的负载和性能变化。

计算公式

吞吐量=总处理量/时间(秒)

学习原文

一文搞懂高并发性能指标:QPS、TPS、RT、并发数、吞吐量 - 知乎