系统最大并发量计算(系统设计的基础知识)(1)

吞吐量

吞吐量通常是指在给定时间段内处理的查询或请求的数量。决定吞吐量上限的因素有两个

1)可用硬件资源的数量,

2)系统中的资源分配和有效利用。

PS:以下是性能测试的主要概念和计算公式。

系统的吞吐量与请求的CPU消耗、外部接口、IO等密切相关。单个请求的 CPU 消耗越高,外部系统接口和 IO 影响速度越慢,系统吞吐量越低,反之亦然。

系统吞吐量参数

理解了以上3个元素的含义后,可以推断出它们之间的关系:QPS/TPS = 并发/平均响应时间

确定吞吐量

因此,系统的吞吐量通常由两个因素决定:并发数和 QPS/TPS。每个系统的这 2 个值都有一个相对限值。只要某个项目达到系统的最高值,系统的吞吐量就会达到最大值。如果请求数和并发数继续增加,系统的吞吐量反而会降低。这是因为系统过载,上下文切换、内存等其他消耗导致系统性能下降。

确定响应时间

系统的响应时间是系统将通过关键路径的系统影响时间。关键路径由 CPU 操作、IO、外部系统响应等组成。

我们在做系统设计的时候,需要考虑CPU操作、IO、外部系统响应因素的影响,以及对系统性能的初步估计。

除了 QPS、并发和响应时间,我们还需要考虑每日峰值。通过观察系统的访问日志发现,在用户较多或TPS最高的情况下,除节假日和季节性因素外,每天同一时间段的访问流量具有相对稳定的关系。

用户数、QPS、响应时间和吞吐量之间的关系。

系统最大并发量计算(系统设计的基础知识)(2)

延迟

延迟是一个动作(由用户或机器发起)在任何给定系统中产生其预期效果(其响应或输出)所花费的时间。它在计算机网络中最常被引用,它是请求通过网络完成其单向或双向(返回)行程所需的时间。在网络请求的上下文中,延迟通常在低端以毫秒为单位,在高端以秒为单位。一个请求(和延迟的度量)可能只是通过网络连接的许多机器上的更大操作的一小部分(具有更高的延迟)。对于不面向用户的工作负载,可接受的延迟可以用几分钟、几小时或更长的时间来衡量。

低延迟的三个关键是:

  1. 从动作源到数据或计算目的地的物理(或地理)短途旅行。
  2. 在请求行程期间对任何数据的最小计算(数据应预先计算)。
  3. 在其数据存储中查找数据的最短时间(例如,通过在数据库上使用良好的索引)。这在技术上也是计算。

系统最大并发量计算(系统设计的基础知识)(3)

延迟一般包括单向延迟和往返延迟。其单位一般为ms、s、min、hr等。

端到端延迟 =客户端处理延迟 网络延迟 服务器处理延迟

网络延迟=发送延迟 传播延迟 处理延迟 排队延迟

如果你发现我的任何文章对你有帮助或有用,麻烦点赞或者转发。 谢谢!

,