通过


你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 上可持续工作负荷的测试注意事项

开发解决方案并将其部署到云的组织也需要可靠的测试。 了解运行工作负荷测试的注意事项和建议,以及如何针对更可持续的测试模型进行优化。

重要

本文是 Azure Well-Architected Framework 可持续工作负荷 系列的一部分。 如果你不熟悉此系列,我们建议你从 什么是可持续工作负荷开始?

测试效率

在低碳期间进行激烈的测试

运行集成、性能、负载或其他密集型测试功能可能会导致大量处理。 针对已部署工作负荷的精心制作的测试设计有助于确保充分利用可用资源,从而减少碳排放。

绿色软件基础的对齐方式: 碳意识

建议:

  • 当数据中心主要使用可再生能源时,如果能源组合数据可用,请计划运行测试。 例如,在某些地区,当更清洁的能源更为普遍时,在夜间运行测试可能更有益。

根据需要自动执行 CI/CD 以缩放辅助角色代理

运行未充分利用或不活跃的持续集成和持续交付(CI/CD)代理会导致更多的排放。

绿色软件基础对齐: 硬件效率

Recommendations:

  • 根据当前需求保持计算利用率高,从而避免不必要的容量分配。

  • 仅在必要时横向扩展,并在不进行测试时进行横向扩展。 此方法可确保测试环境中没有空闲的计算资源。

  • 考虑在虚拟机(VM)中测试容器等经过优化的平台服务,该虚拟机使用平台来减少维护。

使用 CI/CD 代理时请考虑缓存

在 CI/CD 期间使用缓存机制可以减少计算时间,从而减少碳排放。

绿色软件基础的对齐方式: 节能

Recommendations:

  • 在缓存中存储步骤的结果,并在可能的情况下在不同的 CI/CD 运行之间重复使用它们。 当某个步骤需要 CPU 时间才能生成在运行之间不经常更改的项目时,请保存项目以供将来使用。 此优化可避免每次重复生成相同项目的运行时浪费 CPU 时间。

  • 在自承载缓存时,使用本地 CI/CD 代理的缓存进一步减少数据传输和排放。 此设置可确保缓存不会通过网络传输,这可以是重要的排放源。

拆分大型代码存储库

拆分大型存储库可以帮助 CI/CD 阶段,其中仅编译代码的已更改部分。 此策略可减少计算时间,最终降低碳排放量。

绿色软件基础的对齐方式: 节能

Recommendations:

  • 将大型代码存储库拆分为较小的存储库,并将主代码与库和依赖项分开。

  • 发布和重用跨多个存储库通用的项目和代码库。

分析和度量工作负荷

测量、分析和测试工作负荷对于了解如何最好地使用已分配的资源至关重要。

评估可能的并行化位置

如果不正确分析和测试工作负荷,则很难知道它们是否充分利用基础平台和已部署的资源。

绿色软件基础的对齐方式: 衡量可持续性

Recommendations:

  • 测试应用程序以了解并发请求、同时处理和其他因素。

  • 如果运行机器学习进行测试,请考虑基于 GPU 的计算机以提高效率。

  • 确定工作负荷是否占用大量性能,并致力于优化。

  • 请考虑以下权衡: 运行基于 GPU 的计算机进行机器学习测试可能会增加成本。

使用混沌工程进行评估

运行集成、性能和负载测试可以提高工作负荷的可靠性。 但是,引入混沌工程可以显著提高可靠性、复原能力,以及应用程序对故障的反应。 可以优化工作负荷以正常处理故障并浪费更少的资源。

绿色软件基础的对齐方式: 衡量可持续性

Recommendations:

  • 使用负载测试或 混乱工程 来评估工作负荷如何处理平台中断和流量高峰或下降。 这种做法有助于提高服务复原能力和对故障做出反应的能力,从而允许进行更优化的故障处理。

  • 使用混乱工程测试能源故障或排放更多碳的时刻。 请考虑设置测试来挑战应用程序尽可能少消耗能量。 定义应用程序应对这些条件的方式。 创建一个特定的生态版本,也称为 生态版本,它通知用户他们通过牺牲一些功能和一些性能来排放最小可能的碳。 此版本还可以用作基准应用程序,以评分其可持续性。

  • 请考虑以下权衡: 在混乱工程期间注入故障,并增加任何系统上的负载也会增加用于测试资源的排放。 评估在考虑运行不必要的测试会话的气候影响的同时,如何使用混沌工程来提高工作负荷可靠性。

在测试中建立 CPU 和内存阈值

帮助构建测试,以测试应用程序中的可持续性。 请考虑进行基线 CPU 利用率度量,以便在测试运行时检测 CPU 利用率基线的异常更改。 有了基线后,可以发现之前在最近的代码更改中做出的欠佳决策。

将测试和质量入口添加到部署和测试管道有助于避免部署不可持续的解决方案。 这种方法有助于减少排放。

绿色软件基础的对齐方式: 节能

Recommendations:

  • 运行集成测试或单元测试时监视 CPU 和内存分配。

  • 在应用程序代码中查找异常较高的资源消耗区域,并专注于先缓解它们。

  • 如果应用程序超过已建立的基线值,请配置警报或测试失败。 此配置有助于避免部署不可持续的工作负荷。

  • 请考虑以下权衡: 随着应用程序的增长,基线可能需要改变,以避免在引入新功能时测试失败。