管理成本和性能
托管 DevOps 池提供了几种不同的选项来配置池的性能。 本文介绍通过增加或降低池性能和成本,将池的性能与工作负荷需求相匹配的选项。
配置代理性能
配置托管 DevOps 池时,可以使用不同的选项来配置池的性能和成本。 以下部分介绍了配置池性能时可以做出的一些选择。
磁盘类型
创建托管 DevOps 池时,可以选择标准 SSD 或 高级 SSD ,而不是默认 的标准 OS 磁盘类型。 OS 磁盘类型确定 OS 驱动器使用的磁盘类型。 代理工作目录默认在临时驱动器或 D:\中,因此你可能无法通过昂贵的 OS 磁盘类型受益。 使用不同的 OS 磁盘类型对工作负荷的性能进行基准测试,了解所涉及的成本,并相应地选择 OS 磁盘类型。
如果工作负荷的吞吐量超过标准层的水平,则可以通过升级到性能更高的磁盘类型来提升工作负荷的性能。 有关磁盘类型和性能的详细信息,请参阅 Azure 托管磁盘类型。
请考虑 为池配置数据磁盘 ,而不是更改 OS 磁盘类型或转到更大的 SKU 以获取更多磁盘空间。 可以配置满足工作负荷要求的大小和磁盘类型,并将池配置为将此驱动器用作代理工作目录,以在使用默认 OS 磁盘类型和可能更低的 VM 大小的同时提供更大的存储。
选择正确的代理大小和类型
托管 DevOps 池中的代理大小指定 用于托管 DevOps 池代理的 Azure 虚拟机大小 。 可以更改池的 代理大小 ,以提供更多 CPU 核心、更多内存和更多磁盘空间。 使用更强大的 VM 大小也会增加 Azure 帐单,因此只有在确定使用更强大的 VM 大小会增加工作负荷性能时,才选择此选项。
VM CPU 体系结构
AMD 支持的 VM 大小通常比 Intel 支持的 VM 大小低 40%,性能相同或更好。 使用 AMD 提供支持的 VM 大小可减少 Azure 支出。
VM 大小
请确保使用正确的 Azure VM 大小。 如果当前使用的是 8 个核心 Azure VM 大小,请确保工作负荷能够使用所有 8 个核心。 可以在不同的 VM 大小上运行工作负荷,并了解工作负荷的性能。 可以降级 VM 大小以减少 COGS,同时保持工作负荷的性能大致相同。
VM 类型
不同的 Azure VM 系列专为具有特定特征的工作负荷设计,可更好地执行。 熟悉不同的 Azure SKU 系列,以便选择最适合工作负荷的系列。 示例:如果应用程序不使用与内存一样多的核心,则可以从 内存优化 系列中选取 VM 大小。
查看不同的 Azure VM 类型 以了解其优势。 例如,如果工作负荷需要更多核心和更少的内存,则可以使用 计算优化 大小。 如果工作负荷需要更多的磁盘空间,但核心/内存相同,则可以选择一个 Azure VM 类型,该类型具有更高的磁盘与计算比率,而不是增加 SKU 大小,也可以使用 附加的数据磁盘。
VM 类型生成
最新一代的 Azure VM 类型的性能可能比以前的版本更高。 例如,D2dsV4 和 D2dsV5 的价格相同,并且具有相同规格,但 V5 可能比 V4 更快。
池区域共同位置
尝试将池的 Azure 区域并置到存在 CI/CD 工作负荷依赖项的区域。 这种邻近感应可降低网络延迟,并使工作负荷的性能相对较高。 可以在同一区域中找到 Azure DevOps 组织的区域 并找到托管 DevOps 池。
使用备用代理进行预预配
默认情况下,每当对管道进行排队时,会从头开始创建代理。 可以选择启用备用代理,以便管道不会花费时间等待。 如果已在手动模式下打开备用代理,可以查看备用代理的历史利用率,并确定是否要减少备用代理的数量。 如果工作流不是时间关键,并且可以等待 5-10 分钟,以便按需创建代理,还可以决定完全关闭预预配。
在不使用备用代理的情况下提高代理性能的一种选择是使用短宽限期的有状态代理。 当具有宽限期的有状态代理完成作业时,它们在宽限期指定的持续时间内保持联机状态,并等待作业。 如果工作负荷突发,则可以配置一个宽限期,该宽限期可在作业稳定时使代理保持联机状态,并在较慢的时间段从头开始启动它们。