PERF05-BP02 使用监控解决方案了解性能最为关键的方面 - AWS Well-Architected Framework

PERF05-BP02 使用监控解决方案了解性能最为关键的方面

了解并确定在哪些方面提高工作负载性能,会对效率或客户体验产生积极的影响。例如,拥有大量客户交互的网站会因为使用边缘服务在距离客户更近的位置向客户分发内容而受益。

常见反模式:

  • 您认为标准计算指标(例如,CPU 利用率或内存压力)足够捕获性能问题。

  • 您只使用由自己选定的监控软件记录的默认指标。

  • 您只在出现问题时审查指标。

建立此最佳实践的好处: 了解关键性能领域可以帮助工作负载负责人监控 KPI 并确定具有高影响力的优先改进。

未建立这种最佳实践的情况下暴露的风险等级:

实施指导

设置端到端的跟踪,用于确定流量模式、延迟和关键性能领域。针对速度缓慢的查询或性能欠佳的碎片和分区数据,监控数据访问模式。使用负载测试或监控来确定受约束的工作负载领域。

通过了解架构、流量模式和数据访问模式,提高性能效率,并确定延迟和处理时间。确定随着工作负载增长可能会影响客户体验的潜在瓶颈。在研究了这些方面之后,再看看可以通过部署哪项解决方案来解决这些性能问题。

实施步骤

  1. 设置端到端的监控,用于收集所有工作负载组件和指标。以下是 AWS 监控解决方案的示例。

    服务 使用情形
    Amazon CloudWatch 真实用户监控(RUM,Real-User Monitoring) 收集真实用户客户端和前端会话的应用程序性能指标。
    AWS X-Ray  通过应用程序层跟踪流量,并确定组件间的延迟以及依赖关系。使用 X-Ray 服务地图查看工作负载组件之间的关系和延迟。
    Amazon Relational Database Service Performance Insights  查看数据库性能指标并确定性能改进机会。
    Amazon RDS 增强监控  查看数据库 OS 性能指标。
    Amazon DevOps Guru 检测异常运营模式,以便您可以在运营问题影响客户之前发现它们。
  2. 执行测试以生成指标,确定流量模式、瓶颈和关键性能领域。以下是一些有关如何执行测试的示例:

    • 设置 CloudWatch Synthetic Canary ,使用 Linux cron 作业或 rate 表达式,通过编程方式模拟浏览器端的用户活动,从而生成一段时间内的稳定指标。

    • 使用 AWS 分布式负载测试 解决方案生成峰值流量,或者在预期增长速率下测试工作负载。

  3. 评估指标和遥测数据,确定您的关键性能领域。与团队一起审查这些方面,讨论监控和解决方案以避免瓶颈。

  4. 试验性能改进,并利用数据来衡量这些更改。例如,您可以使用 CloudWatch Evidently 测试新的改进以及对工作负载性能的影响。

资源

相关文档:

相关视频:

相关示例: