每个系统架构师都应该知道的五个性能指标


在本文中,我描述了每个系统架构师都应该知道的一些(非详尽的)性能指标。
系统架构师的目标是设计和监督支持业务目标的 IT 基础架构的开发:

首先,我们需要了解系统架构师是做什么的:
系统架构师负责设计、配置、操作和维护计算机和网络系统。他们客观地分析所需的流程和结果,并就IT 系统和组件的正确组合提出建议,以实现特定的业务、部门、团队或职能目标(Shiff,2022 年)。

因此,每个系统架构师都必须充分了解所支持的不同 IT 服务、它们之间的交互方式以及每个服务和整体的性能要求。

有 5 个重要指标可用于衡量服务绩效:
1. 延迟(第一个字节)
第一个重要指标是首字节延迟。这是从请求开始到响应结束处理最小输入(通常是单个字节)所需的时间。这些通常是写在硬件或系统规范中的(例如磁盘延迟、内存访问延迟等)。

2. 延迟(端到端)
端到端延迟,类似于首字节延迟,是从事务开始到结束所花费的时间。两者之间的差异是由于处理时间取决于输入的大小。例如,两个 1000x1000 矩阵之间的矩阵乘法比两个 2x2 矩阵需要更长的时间。
这是系统架构师需要为每项服务了解的性能指标。在收集数字时了解延迟和输入大小之间的这种关系尤为重要。例如,比较处理小输入和大输入的端到端延迟就像比较苹果和橙子。

3. 吞吐量
吞吐量是服务在给定时间范围内完成的任务数。例如,服务通常以每秒请求数 (rps) 来衡量。

4. 带宽
带宽是服务的最大额定容量。一个典型的例子是网络带宽,这是互联网服务提供商 (ISP) 根据所使用的硬件规格所宣传的。
在服务中,带宽本质上是它每秒可以处理的最大请求数。相反,吞吐量是系统实现的每秒实际请求数,等于或小于带宽。

5.并发
最后,并发是服务可以同时处理的请求数。请注意,这是以持续时间作为分母来衡量的(例如,100 个并发请求与每秒 1000 个请求)。
系统的最大并发和请求的平均延迟定义了系统的带宽:
100 个并发请求 * 500ms 请求意味着 = 每秒 200 个请求的带宽

系统架构师需要识别瓶颈以便找到改进的机会
为了提高系统的性能,可以使用不同的策略。例如,通过最小化处理时间来减少请求的端到端延迟可以增加服务的带宽。同样,通过添加更多的工作节点来水平扩展服务可以增加并发性,从而也可以增加服务的带宽。

为了识别这些机会,系统架构师可以像化学家一样思考
与化学的一个类比是,在化学反应中,材料输入转换为输出,可以通过找到“限制试剂”来确定预期的输出量。
在 IT 服务中,瓶颈可能是系统的内存空间。例如,一个工作节点可能只能托管 4 个服务实例,因为每个服务的内存大小是工作节点内存容量的四分之一。
由于内存是限制因素,因此工作节点的计算能力必须未被充分利用。为了解决这个问题,减少实例的内存大小,甚至通过分页在内存中混洗实例可能是增加服务带宽的技术。