

# PERF01-BP04 评估权衡机制对客户和架构效率的影响
<a name="perf_architecture_evaluate_trade_offs"></a>

 在评估与性能相关的改进时，确定哪些选择会对客户和工作负载效率产生影响。例如，如果使用键值数据存储可以提高系统性能，则评估这种更改的最终一致性对客户的影响就非常重要。

 **常见反模式：**
+  您认为即便需要实施一些权衡机制，也要实现所有性能收益。
+  在性能问题已经非常严重时，只评估对工作负载的更改。

 **建立此最佳实践的好处：**评估与性能相关的潜在改进时，必须决定更改时所采用的权衡机制是否符合工作负载要求。在某些情况下，可能必须实施额外的控制来补偿权衡机制。

 **在未建立这种最佳实践的情况下暴露的风险等级：**高 

## 实施指导
<a name="implementation-guidance"></a>

 根据性能和客户影响确定架构中的关键领域。确定可以如何进行改进、这些改进带来的利弊，并确定改进对系统和用户体验的影响。例如，缓存数据有助于大幅提高性能，但需要就如何以及何时更新缓存的数据或使其变得无效而制定明确的策略，以便防止产生不正确的系统行为。

### 实施步骤
<a name="implementation-steps"></a>
+  了解工作负载要求和 SLA。
+  明确定义评估因素。这些因素可能与工作负载的成本、可靠性、安全性和性能有关。
+  选择可以满足要求的架构和服务。
+  开展试验工作并执行概念验证（POC），评估权衡因素以及对客户和架构效率的影响。高度可用、高性能和安全的工作负载往往会消耗更多的云资源，但同时也会提供更好的客户体验。了解工作负载的复杂性、性能和成本之间的权衡因素。通常，重视其中两个因素会以牺牲第三个因素为代价。

## 资源
<a name="resources"></a>

 **相关文档：**
+  [Amazon Builders' Library](https://aws.amazon.com/builders-library) 
+  [Quick KPI](https://docs.aws.amazon.com/quicksight/latest/user/kpi.html) 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [X-Ray 文档](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+ [Understand resiliency patterns and trade-offs to architect efficiently in the cloud](https://aws.amazon.com/blogs/architecture/understand-resiliency-patterns-and-trade-offs-to-architect-efficiently-in-the-cloud/)

 **相关视频：**
+  [Optimize applications through Amazon CloudWatch RUM](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+ [AWS re:Invent 2023 - Capacity, availability, cost efficiency: Pick three ](https://www.youtube.com/watch?v=E0dYLPXrX_w)
+ [AWS re:Invent 2023 - Advanced integration patterns & trade-offs for loosely coupled systems](https://www.youtube.com/watch?v=FGKGdUiZKto)

 **相关示例：**
+  [Measure page load time with Amazon CloudWatch Synthetics](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Amazon CloudWatch RUM Web Client](https://github.com/aws-observability/aws-rum-web) 