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

容量规划的体系结构策略

适用于此 Azure Well-Architected 框架性能效率清单建议:

体育:02 执行容量计划。 应在使用模式发生预测变化之前完成容量规划。 预测的更改包括季节性变化、产品更新、市场营销活动、特殊事件或法规更改。

本指南介绍了容量规划的建议。 产能规划是指确定实现工作负荷性能目标所需的资源的过程。 它涉及到估算支持工作负荷性能要求所需的计算资源量,例如 CPU、内存、存储和网络带宽。 容量规划有助于避免预配不足,并确保工作负荷有足够的资源来处理预期的工作负荷需求,而不会遇到性能下降或瓶颈。 它还有助于防止过度预配和不必要的成本。 容量规划不足可能会导致性能问题、资源瓶颈、成本增加、分配效率低下、可伸缩性挑战以及不可预知的工作负荷性能。

定义

术语 定义
容量规划 预测工作负荷需要实现其性能目标的资源的过程。
功能要求 工作负载必须具备的特性和功能,以实现其预期目的。
技术要求 满足功能要求所需的代码和基础结构。
趋势分析 历史数据分析,预测未来需求。

容量规划是一个前瞻性过程,涉及根据预期的工作负载需求和模式做出决策。 它的目标是在连续和最高负载方案中优化工作负荷性能。 通过了解使用情况的变化,如季节性变化或产品发布,您可以战略性地分配资源,防止高需求期间的系统压力。 此提前策略可减少中断和提高性能效率。 通过分析过去的使用趋势和增长数据,您可以预测短期和长期需求。 您可以查明潜在的瓶颈和扩展问题,确保一致、高效的工作负载性能。

收集容量数据

收集工作负荷利用率数据需要收集和分析有关工作负荷如何使用资源的信息。 您应该收集现有工作负载的历史模式数据和新工作负载的预测指标。 此过程可帮助将业务目标转换为技术要求,对于预测产能至关重要。 请考虑以下建议:

了解现有工作负荷

了解容量规划的现有工作负载涉及分析与工作负载如何利用资源相关的历史数据。 它涵盖资源利用率、性能数据和工作负荷模式等度量。 这种理解可确保有效的资源分配,将业务目标转化为技术要求,并有助于识别潜在的瓶颈。

  • 了解数据:查看可用的历史数据,并了解其结构、格式与产能规划相关性。 该审核可能包括资源利用率度量、工作负荷模式、绩效指标和其他相关数据点。 了解业务流程和应用程序的重要性。 确定最大使用时间、用户负载、交易率和其他相关指标。

  • 清理并预处理数据:通过删除任何不一致、错误或离群值来准备数据进行分析。 准备数据可能涉及数据清理技术,如数据插补、缺失值处理或规范化。

  • 确定关键指标:确定与产能规划相关的指标。 指标可能包括 CPU 使用率、内存使用率、网络吞吐量和响应时间。

  • 确定瓶颈:测量吞吐量和响应时间,以确定随着工作负荷增长而可能成为瓶颈的系统的特定组件。 每秒请求数和数据库 CPU 使用率可能是容量的良好指标。

  • 可视化数据:创建可视化效果(如图表或绘图)以更好地了解历史数据。 可视化效果可以帮助您识别数据中的模式、趋势和异常,从而更清楚地了解工作负载行为。

了解新工作负荷

了解容量规划的新工作负载是指在没有历史数据的情况下预测未来任务的资源需求。 预测没有历史数据的新工作负荷的未来需求可能会更具挑战性。 此过程可确保您有效地分配资源,并在引入工作负载时使分配与工作负载目标保持一致。 请考虑以下建议:

  • 市场研究:开展市场研究,了解类似产品或服务的需求,可以为新工作负载的潜在需求提供有价值的见解。 这项研究可以涉及分析市场趋势、进行调查或研究竞争对手产品/服务。

  • 专家判断:来自具有行业经验的主题专家或专业人士的意见可以帮助您估计对新工作负载的需求。 他们的专门知识和见解可为预测提供有价值的输入。

  • 试点项目或原型:小规模的试点项目或原型可以帮助您收集实时数据和反馈。 然后,您可以使用该数据来告知产能规划过程,调整预测的需求。

  • 外部数据源:外部数据源(如行业报表、市场调研或客户调查)可提供额外信息来估计新工作负荷的需求。 这些来源可提供有关客户首选项、市场趋势和潜在需求驱动因素的有用见解。

预测需求

预测需求涉及使用工作负荷数据预测服务或产品的未来需求。 对于容量规划来说,确保有效的资源分配、预测增长模式并为潜在的需求激增做好准备至关重要。 在预测未来需求时,您可以使用数据了解未来需求。 将统计分析、趋势分析或预测建模技术应用于预测未来需求的数据。 这些方法考虑了历史或预期的模式,并将它们预测到未来,以提供预期工作量需求的估计。 若要预测需求,请考虑以下策略:

考虑各种方案

执行容量规划时,需要针对可能发生的不同方案进行规划。 这种规划应包括可预测的增长模式和意外的需求激增。 使用模式可以增加或减少。 它们可以是有机的(或多或少的用户),也可以是无机的(事件或安全事件)。 需要在使用更改之前执行容量规划,在关键时刻:

  • 设计(预测)
  • 定期高峰(上午 8:00 登录高峰)
  • 启动(预测验证)
  • 业务模型更改
  • 收购或合并
  • 营销推送
  • 季节变化
  • 功能发布
  • 定期

使用预测技术

预测服务或产品的未来需求涉及使用统计分析、趋势分析和数据建模等技术。 下面概述了如何使用这些技术:

  • 统计分析:统计方法有助于发现历史数据中的模式和关系。 您可以使用这些模式预测将来的需求。 您可以使用时间序列分析、回归分析和移动平均线等技术来识别数据中的趋势、季节性和其他模式。

  • 趋势分析:趋势分析涉及检查历史数据以识别一致的模式,并将这些模式外推到未来。 例如,如果工作负载需求在过去一年中增加了 10%,则可以预测此趋势将持续下去。 当您分析一段时间期间历史需求数据时,可以确定增长或降低趋势。 这些趋势可作为预测未来需求的基础。 趋势分析还可以识别导致流量快速变化的一次性事件的影响(无机)。 例如,功能发布可能会一致地将需求提高 5%。 如果您每年有四个主要发行版,则应该计划每一次增长 5%。

  • 预测建模:预测建模是利用历史数据和其他相关变量建立数学模型来预测未来需求的过程。 您可以使用机器学习算法、神经网络或决策树等技术。 这些模型可以考虑多种因素和变量,以便提供更加准确的预测。

使预测与工作负载目标保持一致

使预测与工作负载目标保持一致涉及调整预测容量模型,以确保它们满足给定工作负载的特定目标和需求。 这种对齐可确保资源得到充分预配,从而防止使用不足和潜在的工作负荷重载。 例如,如果你的目标是支持 100 万用户的 API,以便每秒上传 1 MB 文件,但当前数据显示写入速度缓慢,则需要调整系统。 必须与利益相关者交谈以掌握工作负载的要求。 确保您的计划与服务提供商的承诺 (SLA) 保持一致。 这对齐确保您的产能满足预期需求,并有助于确定可能需要更改的系统区域。

确定资源需求

确定容量规划的资源要求涉及评估满足预测需求所需的资源。 例如,如果应用程序预计在促销活动期间用户增加 50%,则可能需要分配更多云实例或调整其自动缩放参数来处理增加的负载。

工作负载可以包含许多资源,因此无需观察一个指标即可确定资源要求。 您需要在资源级别衡量产能才能获得有意义的结果。 根据历史数据、市场趋势和业务预测预计资源的预期需求。 考虑事务数、并行用户或其他相关指标。

根据预测的需求,计算满足该需求所需的资源。 考虑服务器容量、网络带宽、存储容量和人员等因素:

  • 服务器容量:根据估计的并发用户或事务数确定所需的服务器容量。 考虑 CPU、内存和磁盘空间要求等因素,以确保服务器可以处理预期的工作负荷。

  • 网络带宽:评估支持预期通信级别所需的网络带宽。 应同时包括入站和出站数据传输速率,以确保服务器和客户端之间的通信顺畅高效。

  • 存储空间:评估工作负荷在预测需求期间生成或处理的数据量。 考虑数据库大小、文件存储要求以及特定于您的应用程序的其他任何数据存储需求等因素。

  • 人员:评估管理和维护基础结构所需的人力资源,处理客户支持,执行系统维护,并确保正常运行。 考虑工作负载分配、技能集和所需专业知识等因素。

了解资源限制

工作负载中的资源具有性能限制。 性能限制适用于每个服务中的服务和 SKU。 您需要了解工作负载中资源的局限性,并将这些局限性纳入设计决策。 例如,你应该知道资源限制是要求更改 SKU 还是完全更改资源。

还需要确定可访问的限制。 它是指确定工作负荷的最大阈值或边界。 这些限制通常适用于基础结构(计算、内存、存储、网络)、应用程序(并发数据库连接、响应时间、可用性)、服务(每秒请求数)和缩放。 当产能规划确定可达到的限制时,您需要在限制创建性能问题之前修改工作负荷。 性能基线、连续监视和测试对于验证限制和解决方案至关重要。

权衡:误判容量规划可能导致资源过度预配或预配不足。 过度预配会导致更高的成本。 预配不足可能会导致性能不佳。 尝试找到正确的平衡点。

Azure 便利化

收集容量数据和预测需求Azure Monitor 使您能够收集和分析来自应用程序和基础架构的遥测数据。 它支持监视各种 Azure 资源,包括虚拟机、容器和存储帐户。 关键工具包括 Application Insights日志分析。 通过配置数据收集和定义要监视的度量和日志,可以收集重要的工作负荷数据以进行分析。 对于网络监控,将 Azure Monitor 与 Azure Network Watcher、Azure Monitor network insights 和 Azure ExpressRoute 监控相结合。

Azure Monitor 允许分析历史数据并应用预测技术来预测未来的工作负载趋势和容量要求。 您可以生成有助于容量规划的预测。 这些预测通过使用预测的需求模式来帮助估计服务器容量、网络带宽、存储容量和其他资源需求。

对于涉及大型历史数据集的复杂分析工作负荷, Log Analytics 搜索作业 支持跨长期保留期对数据进行异步查询,而不会影响实时监视性能。 搜索作业为结果创建专用分析表,从而允许将分析工作负荷与作监视分离。 此功能对于需要深度历史分析(如趋势分析和预测)的容量规划活动特别有价值,同时保持日常监视作的最佳性能。

确定资源要求:因为它们提供广泛的配置,Azure 工具和服务可帮助您定义技术要求。 可以使工作负载要求与可用的 Azure 资源保持一致,确保选择适当的组件和设置来满足功能需求。

了解资源限制:Azure 提供了文档和资源,可帮助你了解各种 Azure 服务和 SKU 的性能限制。 考虑这些限制可以帮助您做出明智的设计决策,并优化工作负载体系结构,以提高性能和成本效益。

Azure 提供可伸缩性选项,例如自动缩放,可根据工作负荷需求自动调整资源。 可以通过使用更大的虚拟机大小增加资源容量来垂直缩放,也可以通过添加新的资源实例来水平缩放。 具有自动缩放功能的 Azure 服务可以自动横向扩展,以确保在工作负荷高峰期间容量,并在负载减少时恢复正常。 应注意配置和服务中的缩放限制。 您可以阅读文档或运行测试。 Azure 提供了 Azure 负载测试等工具,这些工具可以模拟负载和不同的使用模式,以帮助你收集有关工作负荷的相关数据。

启用跨工作负荷的 虚拟网络流日志 ,以捕获有关网络活动的数据。 使用 流量分析 来分析和扩充这些日志,从而了解用户流的行为和性能。 通过识别主要通信参与者、带宽热点和路由低效,流量分析可以帮助优化网络资源分配并启用更智能的容量规划。

性能效率清单

请参阅完整的建议集。