性能调优方法论

许多不同的方法和策略可以应用于系统性能改进。在进行更改之前,当寻求改进时,必须分析系统的当前性能。知道如何开始系统分析是这个过程中的关键一步。

性能调优专家高度重视 USE (The Utilization Saturation and Errors) 方法。USE 方法是由性能专家布伦丹·格雷格在教授操作系统性能课程时开发的。该方法首次发表在2012年12月出版的计算机器协会杂志 acmqueue 上。

USE 方法

USE 方法可以帮助您快速分析系统的性能,并发现可能的性能问题或瓶颈,而不会忽略重要的方面。这种分析对于建立基线是必不可少的,因此能够开始在系统中进行更改以寻求性能改进。

主要思想是首先识别每个单独的资源,然后检查每个资源的错误、利用率和饱和度。

USE 方法在硬件资源在高利用率或饱和情况下性能下降的复杂系统中最有效。像其他一些方法一样,USE 方法在处理软件资源时是无效的。因此,在应用 USE 方法时,请关注硬件资源。请记住,这些硬件资源是每个 IT 系统拓扑的起点。

术语定义

在 USE 方法中用到了以下术语:

  • 资源 Resources:

    服务器中的功能硬件设备(CPU、内存、网络接口、磁盘、控制器)。

  • 利用率 Utilization:

    资源忙于维护工作的平均时间。

  • 饱和度 Saturation:

    资源不能服务的额外工作的程度。这项工作通常会排队,但有时会被拒绝,这取决于资源的类型。

  • 错误 Error:

    错误事件的数量。

指标和资源类型

阅读和理解系统中每个资源的度量标准可能既困难又耗时。专注于常见资源的一个子集,并将它们作为优先事项,同时知道如果需要更深入的分析,还有其他组件要研究。

对于这组常见资源类型,度量指标通常用以下术语表示:

  • CPU 资源:

    CPU是处理队列和优先级的处理资源。衡量 CPU 性能的常用指标是使用率、平均负载和平均队列。

  • 内存资源:

    内存是一种容量资源。衡量性能的常用指标是空闲容量、吞吐量和错误。

  • 存储资源:

    存储设备既是一种容量,也是一种 I/O 资源。衡量存储设备性能的常用指标是可用空间、每秒 I/O 操作数(IOPS)、I/O 等待时间和吞吐量。

  • 网络资源:

    网络设备被视为 I/O 资源,衡量性能的常用指标是吞吐量、往返时间、延迟、数据包丢失、错误和冲突。

The USE Method Workflow

首先检查错误,无论您的分析情况是基于性能还是基于故障排除。高中断或其它导致可检测错误的问题表现是这两种情况下性能问题的根本原因,应始终在对饱和度和利用率进行任何其他分析之前进行检测和纠正。

通常,系统表现出不止一个性能问题;你发现的第一个问题可能不是根本问题。目标是收集证据,这将引导你采取行动。此操作可以是纠正操作,也可以针对特定的工作负载对设备或系统进行特定的调整。

解读性能结果

有些性能问题很好理解。其他取决于工作负载需求、期望或整体功能环境。缩小调查范围可以快速聚焦问题区域。以下是一些一般建议,用于解释通过 USE 方法分析获得的结果:

  • 利用率:

    完全利用率(100%)通常是瓶颈的标志(检查饱和度及其影响以确认瓶颈)。长时间(几秒或几分钟)的高利用率(大于70%)可以隐藏 100% 利用率的短暂爆发。有些系统资源,如硬盘,在操作过程中不能被中断,即使对于较高优先级的工作也是如此。一旦利用率超过 70%,影响整体系统性能的排队延迟可能会变得更加频繁和明显。其他系统资源,如 CPU,几乎可以在任何时间被中断(或“抢占”),并可以处理不同的优先级来管理工作负载。

  • 饱和度:

    任何饱和度都可能是一个问题。饱和度是以等待队列的长度来衡量的,或者是在处理之前在队列中等待的时间。

  • 错误:

    非零错误计数器值得研究,尤其是当它们在性能下降时仍在增加时。

Last updated