

# PERF05-BP02 使用监控解决方案了解性能最为关键的方面
<a name="perf_process_culture_use_monitoring_solutions"></a>

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

 **常见反模式：** 
+  您认为标准计算指标（例如，CPU 利用率或内存压力）足够捕获性能问题。 
+  您只使用由自己选定的监控软件记录的默认指标。 
+  您只在出现问题时审查指标。 

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

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

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

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

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

### 实施步骤
<a name="implementation-steps"></a>

1.  设置端到端的监控，用于收集所有工作负载组件和指标。以下是 AWS 监控解决方案的示例。     
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/wellarchitected/2023-10-03/framework/perf_process_culture_use_monitoring_solutions.html)

1.  执行测试以生成指标，确定流量模式、瓶颈和关键性能领域。以下是一些有关如何执行测试的示例： 
   +  设置 [CloudWatch Synthetic Canary](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) ，使用 Linux cron 作业或 rate 表达式，通过编程方式模拟浏览器端的用户活动，从而生成一段时间内的稳定指标。 
   +  使用 [AWS 分布式负载测试](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 解决方案生成峰值流量，或者在预期增长速率下测试工作负载。 

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

1.  试验性能改进，并利用数据来衡量这些更改。例如，您可以使用 [CloudWatch Evidently](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently.html) 测试新的改进以及对工作负载性能的影响。 

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

 **相关文档：** 
+  [Amazon Builders' Library](https://aws.amazon.com/builders-library) 
+  [X-Ray 文档](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Amazon DevOps Guru](https://aws.amazon.com/devops-guru/) 

 **相关视频：** 
+  [The Amazon Builders’ Library: 25 years of Amazon operational excellence](https://www.youtube.com/watch?v=DSRhgBd_gtw) 
+  [Visual Monitoring of Applications with Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=_PCs-ucZz7E) 

 **相关示例：** 
+  [使用 Amazon CloudWatch Synthetics 测量页面加载时间](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Amazon CloudWatch RUM Web 客户端](https://github.com/aws-observability/aws-rum-web) 
+  [适用于 Node.js 的 X-Ray 开发工具包](https://github.com/aws/aws-xray-sdk-node) 
+  [适用于 Python 的 X-Ray 开发工具包](https://github.com/aws/aws-xray-sdk-python) 
+  [适用于 Java 的 X-Ray 开发工具包](https://github.com/aws/aws-xray-sdk-java) 
+  [适用于 .Net 的 X-Ray 开发工具包](https://github.com/aws/aws-xray-sdk-dotnet) 
+  [适用于 Ruby 的 X-Ray 开发工具包](https://github.com/aws/aws-xray-sdk-ruby) 
+  [X-Ray 进程守护程序](https://github.com/aws/aws-xray-daemon) 
+  [AWS 上的分布式负载测试](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 