一、高并发的核心性能指标概述
当系统面对海量并发请求时,高并发性能指标通常是用来衡量系统性能的关键指标。当我们谈论高并发场景时,通常关注几个核心性能指标,包括每秒查询率(QPS)、每秒事务处理量(TPS)、响应时间(RT)、并发数 以及 系统的整体吞吐量。接下来,将会逐一讲解这些指标的含义和重要性。
二、每秒查询率(QPS)
每秒查询率,简称 QPS(Query Per Second),是用来衡量系统处理能力的一个关键指标,QPS 指的是系统能够在每秒钟处理多少次查询或读取操作。QPS数值越高,意味着系统的处理能力越强。
在建设一个能抗住高并发的系统时,我们要基于实际的需求和硬件条件来设定一个合理的QPS目标。拿电商网站为例,如果一个网站的QPS是10W,这就意味着它能在每秒钟内响应10W个用户的查询请求。
三、每秒事务处理量(TPS)
每秒事务处理量,简称 TPS(Transaction Per Second),是用来度量系统处理能力的另一项重要指标。TPS 表示系统在每一秒内能够处理多少个事务或写操作请求。不同于QPS,TPS包括读和写两种操作。在面对高并发的挑战时,TPS成了一个关键的衡量标准,特别是它展现了系统处理写请求的能力。以金融交易系统为例,如果它的TPS达到了5W,表示该系统可以在每秒内完成5W个交易请求的处理。
在实际场景中,TPS(每秒事务处理量)通常用来全面评价系统的性能,而QPS(每秒查询率)则更常用于评估特定业务模块或查询接口的效率。这样的区分有助于我们细致地了解系统的各个部分,从而为优化和提升性能提供指导。
四、响应时间(RT)
响应时间,简称 TPS(Response Time),是评价系统性能不可或缺的一个指标,RT 衡量的是系统收到一个请求到返回响应所需的全部时间。一般来说,响应时间越短,系统的性能就越高。在处理高并发的情况下,响应时间可能会因为系统资源的限制而有所增长。因此,根据业务需求和用户体验要求,设定一个合理的响应时间目标是非常重要的。比如,在一些在线游戏系统中,响应时间被严格要求在100毫秒以内,超出这个阈值可能会影响到玩家的游戏体验。
五、并发数
并发数 是 系统在同一时刻能够同时处理的请求数量,这个指标直观反映了系统处理并发请求的能力。在面对高并发场景时,怎样控制一个合理的并发数尤为关键。如果并发数设置得过高,可能会耗尽系统资源,进而拖垮性能甚至导致系统崩溃;反之,如果并发数设置得过低,则可能造成系统资源的浪费,未能充分发挥出系统的处理潜力。
六、吞吐量
吞吐量 是 衡量系统性能的一个综合指标,指的是系统在一段给定时间内成功处理的请求总数,这个指标通常按照每秒处理的请求数来计算。吞吐量的大小受到诸多因素的影响,包括但不限于系统的处理能力、网络带宽和硬盘速度等。在高并发的场景下,追求高吞吐量成为了一个重要目标,因为这意味着系统有能力在较短的时间内处理更多的请求,确保了系统的高效运行和用户体验的流畅。
七、QPS、并发数 、RT 之间的关系
理解了上述指标的意义之后,就能推算出它们之间的关系:
- QPS(TPS)= 并发数/平均响应时间
- 并发数 = QPS*平均响应时间
通过一个实例,我们可以将之前提到的几个概念串起来,更加直观地理解它们。
利用二八定律,假设80%的访问量集中在全天20%的时间内,那么这20%的时间段就被认为是峰值时间。公式:
|
|
这样能够计算出为了应对峰值负载所需要的机器数量,以每天300万PV为例,我们首先计算峰值时间的每秒请求数(QPS):(3000000 * 0.8) / (86400 * 0.2) = 139 (QPS)
这意味着,在峰值时段,系统每秒需要处理大约139个请求。
假设一台机器的处理能力是58 QPS,为了覆盖这个需求,我们需要的机器数量就是:139 / 58 ≈ 3台
因此,要处理每天300万PV,在高峰期每秒需要处理139个请求的情况下,我们至少需要3台性能相当(每台58 QPS处理能力)的机器来保证系统的平稳运行。