PERF 8: 如何使用权衡机制来提高性能?
在构建解决方案时,确定权衡机制可以帮助您选出最佳方法。通常,您可以牺牲一致性、持久性和空间来换取缩短时间和延迟,从而提高性能。
资源
Introducing The Amazon Builders’ Library (DOP328)
Amazon Builders’ Library
Best Practices for Implementing Amazon ElastiCache
最佳实践:
-
了解对性能最至关重要的因素: 了解并确定在哪些方面提高工作负载性能,会对效率或客户体验产生积极的影响。例如,拥有大量客户交互的网站会因为使用边缘服务在距离客户更近的位置向客户分发内容而受益。
-
了解设计模式和服务: 研究和理解有助于提高工作负载性能的各种设计模式和服务。在分析的过程中,确定您需要牺牲哪些方面来获得更高的性能。例如,使用缓存服务有助于减少数据库系统上的负载;不过,这需要您完成一些设计工作,以实现安全的缓存,或者可能需要在某些方面实现最终一致性。
-
确定权衡机制对客户和效率的影响: 在评估与性能相关的改进时,确定哪些选择会对客户和工作负载效率产生影响。例如,如果使用键值数据存储可以提高系统性能,那么评估它的最终一致性将对客户的影响就非常重要。
-
衡量性能提高产生的影响: 在进行更改以提高性能时,对收集的指标和数据进行评估。使用这些信息来确定性能提高对工作负载、工作负载组件和客户的影响。这种衡量可让您了解采用权衡机制后实现的性能提高,还可以帮助确定性能提高是否产生了任何不利的副作用。
-
使用各种与性能相关的策略: 如果合适,利用多种策略来提高性能。例如,可以使用缓存数据等策略来防止出现过多的网络或数据库调用;使用数据库引擎的只读副本来提高读取速度;尽可能对数据进行分片或压缩以减少数据卷;在数据可用时进行缓冲和流式处理,避免拥堵。
改进计划
了解对性能最至关重要的因素
了解设计模式和服务
Amazon Builders’ Library
确定权衡机制对客户和效率的影响
衡量性能提高产生的影响
使用各种与性能相关的策略