此内容已过时。此版本的架构完善的框架现在可在以下位置找到: https://docs.aws.amazon.com/zh_cn/wellarchitected/2022-03-31/framework/performance-efficiency.html

PERF 8: 如何使用权衡机制来提高性能?

在构建解决方案时,确定权衡机制可以帮助您选出最佳方法。通常,您可以牺牲一致性、持久性和空间来换取缩短时间和延迟,从而提高性能。

资源

Introducing The Amazon Builders’ Library (DOP328)
Amazon Builders’ Library
Best Practices for Implementing Amazon ElastiCache

最佳实践:

改进计划

了解对性能最至关重要的因素

  • 确定工作负载的受限方面: 使用负载测试或监控来确定受限方面(内存、CPU、自定义指标和其他关键性能指标)。
  • 了解设计模式和服务

  • 了解可用的产品选项: 了解哪些性能配置选项可用,以及这些配置选项对工作负载的影响。优化工作负载性能依赖于对以下内容的了解:这些选项如何与架构进行交互,以及这些选项对实际测量的性能和用户感知到的性能的影响。
  • 评估 Amazon Builders’ Library 的设计模式: Amazon Builders’ Library 提供了有关 Amazon 如何构建和运行技术的详细信息。库中的免费文章均由 Amazon 的高级工程师撰写,其中涵盖架构、软件交付和运营等诸多主题。例如,您可以看到 Amazon 如何实现软件交付自动化,每年完成超过 1.5 亿次部署;或者 Amazon 的工程师如何实施随机分片等原理来构建具有高可用性和容错能力的弹性系统。
    Amazon Builders’ Library
  • 确定权衡机制对客户和效率的影响

  • 确定权衡机制: 通过指标和监控确定系统中性能不佳的方面。确定如何进行改进,以及权衡机制将如何影响系统和用户体验。例如,实施缓存数据有助于大幅提高性能,但需要就如何以及何时更新缓存的数据或使其作废而制定明确的策略,以防止产生不正确的系统行为。
  • 衡量性能提高产生的影响

  • 综合使用各种策略: 架构完善的系统会使用各种与性能相关的策略。确定哪种策略会对给定的热点或瓶颈产生最大的积极影响。例如,对多个关系数据库系统中的数据进行分片可以提高整体吞吐量并保持对事务的支持,而且在每个分片内进行缓存有助于降低负载。
  • 使用各种与性能相关的策略

  • 使用数据驱动型方法来改进架构: 对工作负载进行更改时,需要收集并评估各项指标,以确定更改产生的影响。衡量对系统和最终用户的影响,以便了解权衡机制如何影响工作负载。使用负载测试等系统的方法来确定权衡机制是否可以提高性能。