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

容量规划建议

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

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

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

定义

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

关键设计策略

容量规划是一个前瞻性的过程,涉及根据预期的工作负载需求和模式做出决策。 其目标是在连续和峰值负载方案中优化工作负载性能。 通过了解使用情况变化(如季节性换班或产品发布),可以战略性地分配资源,防止在高需求时段出现系统紧张。 此主动策略可减少中断,提高性能效率。 通过分析过去的使用趋势和增长数据,可以预测短期和长期需求。 可以查明潜在的瓶颈和缩放问题,确保一致且高效的工作负载性能。

收集容量数据

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

了解现有工作负载

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

  • 了解数据:查看可用历史数据,了解其结构、格式和与容量规划的相关性。 评审可能包括资源利用率指标、工作负载模式、性能指标和其他相关数据点。 了解应用程序的业务流程和关键性。 确定峰值使用时间、用户负载、事务速率和其他相关指标。

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

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

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

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

了解新工作负载

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

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

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

  • 试点项目或原型:小规模的试点项目或原型可以帮助你收集实时数据和反馈。 然后,可以使用此数据来通知容量规划过程并调整预测的需求。

  • 外部数据源:外部数据源(如行业报告、市场研究或客户调查)可以提供其他信息来估算新工作负载的需求。 这些来源可以提供对客户偏好、市场趋势和潜在需求驱动因素的宝贵见解。

预测需求

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

考虑各种方案

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

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

使用预测技术

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

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

  • 趋势分析:趋势分析涉及检查历史数据以识别一致的模式,并将这些模式推断为未来。 例如,如果工作负载需求在过去一年中增加了 10%,则可以预测此趋势会继续。 分析一段时间内的历史需求数据时,可以识别增长或减少趋势。 使用这些趋势作为预测未来需求的基础。 趋势分析还可以确定导致交通 (无机) 快速变化的一次性事件的影响。 例如,功能发布可能会持续增加 5% 的需求。 如果每年有四个主要版本,则应计划每次增长 5%。

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

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

使预测与工作负载目标保持一致涉及调整预测容量模型,以确保它们满足给定工作负载的特定目标和需求。 这种一致性可确保充分预配资源,防止使用不足和潜在的工作负载过载。 例如,如果旨在支持 100 万用户的 API,以便每秒上传 1 MB 的文件,但当前数据显示写入速度较慢,则需要调整系统。 与利益干系人交谈以掌握工作负载的要求至关重要。 确保计划符合服务提供商) sla (承诺。 这种一致性可确保容量满足预期需求,并帮助确定系统可能需要更改的区域。

确定资源要求

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

一个工作负荷可以有许多资源,因此没有一个指标需要观察来确定资源需求。 你需要在资源级别测量容量才能获得有意义的结果。 根据历史数据、市场趋势和业务预测估计资源的预期需求。 考虑事务数、并发用户数或任何其他相关指标。

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

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

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

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

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

了解资源限制

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

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

权衡:错误判断的容量规划可能导致资源预配过度或预配不足。 过度预配会导致成本上升。 预配不足可能会导致性能不佳。 尝试找到适当的平衡点。

Azure 便利化

收集容量数据和预测需求使用 Azure Monitor 可以从应用程序和基础结构收集和分析遥测数据。 它支持监视各种 Azure 资源,包括虚拟机、容器和存储帐户。 关键工具包括 Application InsightsLog Analytics。 通过配置数据收集并定义要监视的指标和日志,可以收集有价值的工作负载数据进行分析。 对于网络监视,请将 Azure Monitor 与 Azure 网络观察程序、Azure Monitor 网络见解和 Azure ExpressRoute 监视相结合。

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

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

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

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

性能效率清单

请参阅完整的一组建议。