

# 절충
<a name="a-tradeoffs"></a>

**Topics**
+ [PERF 8  절충을 통해 성능을 개선하려면 어떻게 해야 합니까?](w2aac19c11c11b5.md)

# PERF 8  절충을 통해 성능을 개선하려면 어떻게 해야 합니까?
<a name="w2aac19c11c11b5"></a>

 솔루션을 설계할 때 절충이 필요한 영역을 결정하면 최적의 접근 방식을 선택할 수 있습니다. 일관성, 내구성 및 공간을 포기하는 대신, 시간 및 지연 시간을 선택하여 성능을 개선할 수 있는 경우가 많습니다. 

**Topics**
+ [PERF08-BP01 성능이 가장 중요한 영역 파악](perf_tradeoffs_performance_critical_areas.md)
+ [PERF08-BP02 설계 패턴 및 서비스 파악](perf_tradeoffs_performance_design_patterns.md)
+ [PERF08-BP03 절충이 고객 및 효율성에 주는 영향 파악](perf_tradeoffs_performance_understand_impact.md)
+ [PERF08-BP04 성능 개선의 영향 측정](perf_tradeoffs_performance_measure.md)
+ [PERF08-BP05 다양한 성능 관련 전략 사용](perf_tradeoffs_performance_implement_strategy.md)

# PERF08-BP01 성능이 가장 중요한 영역 파악
<a name="perf_tradeoffs_performance_critical_areas"></a>

 워크로드 성능을 개선하여 효율성을 높이고 고객 환경을 개선할 수 있는 영역을 파악합니다. 예를 들어, 많은 양의 고객 상호 작용이 수행되는 웹 사이트에서는 엣지 서비스를 사용하여 콘텐츠 전송 위치를 고객과 더 가까운 곳으로 이동하는 방법으로 성능을 개선할 수 있습니다. 

**원하는 결과:** 아키텍처, 트래픽 패턴 및 데이터 액세스 패턴을 이해하여 성능 효율성이 향상되고 지연 시간 및 처리 시간을 파악합니다. 워크로드가 증가하면서 고객 환경에 영향을 미칠 수 있는 잠재적 병목 현상을 파악합니다. 이러한 영역을 파악할 때는 성능 문제를 제거하기 위해 배포할 수 있는 솔루션을 살펴보는 것이 좋습니다.

 **일반적인 안티 패턴:** 
+  표준 컴퓨팅 지표, 즉 `CPUUtilization` 또는 메모리 압력이 성능 문제를 포착하기에 충분한 것으로 가정합니다. 
+  선택한 모니터링 소프트웨어에서 기록한 기본 지표만 사용합니다. 
+  문제가 발생한 경우에만 지표를 검토합니다. 

 **이 모범 사례 확립의 이점:** 성능의 중요 영역을 이해함으로써 워크로드 소유자가 KPI를 모니터링하고 큰 영향을 미치는 개선에 우선순위를 지정할 수 있습니다. 

 **이 모범 사례가 확립되지 않을 경우 노출되는 위험의 수준:** 높음 

## 구현 가이드
<a name="implementation-guidance"></a>

트래픽 패턴, 지연 시간 및 중요한 성능 영역을 파악할 수 있는 엔드 투 엔드 추적을 설정합니다. 데이터 액세스 패턴을 모니터링하여 쿼리 속도가 느리거나 데이터 조각이 잘못되거나 잘못 분할된 데이터를 찾습니다. 로드 테스트 또는 모니터링을 사용하여 워크로드의 제한된 영역을 파악합니다.

## 구현 단계
<a name="w2aac19c11c11b5b6c17"></a>

1.  엔드 투 엔드 모니터링을 설정하여 모든 워크로드 구성 요소 및 지표를 캡처합니다. 
   +  실제 사용자 클라이언트 측 및 프런트 엔드 세션에서 애플리케이션 성능 지표를 캡처할 수 있도록 [Amazon CloudWatch RUM(실제 사용자 모니터링)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 을 사용합니다. 
   +  애플리케이션 레이어를 통해 트래픽을 추적하고 구성 요소와 종속 요소 간 지연 시간을 파악할 수 있도록 [AWS X-Ray](https://aws.amazon.com/xray/) 를 설정합니다. X-Ray 서비스 맵을 사용하여 워크로드 구성 요소 간 관계 및 지연 시간을 확인합니다. 
   +  데이터베이스 성능 지표를 확인하고 성능 개선을 파악할 수 있도록 [Amazon Relational Database Service 성능 개선 도우미](https://aws.amazon.com/rds/performance-insights/) 를 사용합니다. 
   +  데이터베이스 OS 성능 지표를 파악할 수 있도록 [Amazon RDS 향상된 모니터링](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html) 을 사용합니다. 
   +  워크로드 구성 요소 및 서비스별 [CloudWatch 지표](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 를 수집하고 어떤 지표가 성능 효율성에 영향을 미치는지 파악합니다. 
   +  애플리케이션 레이어를 통해 트래픽을 추적하고 구성 요소와 종속 요소 간 지연 시간을 파악할 수 있도록 [Amazon DevOps Guru](https://aws.amazon.com/devops-guru/) 를 설정합니다. 

1.  지표를 생성하고 트래픽 패턴, 병목 현상 및 중요한 성능 영역을 파악하기 위한 테스트를 수행합니다. 
   +  애플리케이션 레이어를 통해 트래픽을 추적하고 구성 요소와 종속 요소 간 지연 시간을 파악할 수 있도록 [CloudWatch Synthetic Canary](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 를 설정하고 이때 `cron` 작업 또는 속도 표현식을 사용하여 시간에 따라 일관된 지표를 생성하도록 합니다. 
   +  최대 트래픽을 생성하거나 예상 증가율로 워크로드를 테스트할 수 있도록 [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/) 
+  [CloudWatch RUM 및 X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/xray-services-RUM.html) 

 **관련 동영상:** 
+  [Amazon Builders’ Library 소개(DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [Amazon CloudWatch Synthetics 데모](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **관련 예시:** 
+  [Amazon CloudWatch Synthetics를 활용한 페이지 로드 시간 측정](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Amazon CloudWatch RUM 웹 클라이언트](https://github.com/aws-observability/aws-rum-web) 
+  [X-Ray SDK for Node.js](https://github.com/aws/aws-xray-sdk-node) 
+  [X-Ray SDK for Python](https://github.com/aws/aws-xray-sdk-python) 
+  [X-Ray SDK for Java](https://github.com/aws/aws-xray-sdk-java) 
+  [X-Ray SDK for .Net](https://github.com/aws/aws-xray-sdk-dotnet) 
+  [X-Ray SDK for Ruby](https://github.com/aws/aws-xray-sdk-ruby) 
+  [X-Ray 대몬(daemon)](https://github.com/aws/aws-xray-daemon) 
+  [AWS에서의 분산 로드 테스트](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 

# PERF08-BP02 설계 패턴 및 서비스 파악
<a name="perf_tradeoffs_performance_design_patterns"></a>

 워크로드 성능 개선에 도움이 되는 다양한 설계 패턴과 서비스를 조사하고 파악합니다. 분석을 수행하는 동안 성능 개선을 위해 트레이드-오프할 수 있는 요소를 파악합니다. 예를 들어, 캐시 서비스를 사용하면 데이터베이스 시스템에 가해지는 로드를 줄일 수 있습니다. 그러나 캐싱은 궁극적으로 일관성을 가져올 수 있으며 비즈니스 요구 사항 및 고객 기대치 내에서 구현하기 위해 엔지니어링 작업이 필요합니다. 

 **원하는 결과:** 설계 패턴을 조사하면 성능이 가장 우수한 시스템을 지원하는 아키텍처 설계를 선택할 수 있습니다. 사용 가능한 성능 구성 옵션 및 이러한 옵션이 워크로드에 영향을 미치는 방식을 확인합니다. 이러한 옵션이 아키텍처와 상호 작용하는 방식, 그리고 측정된 성능과 최종 사용자의 체감 성능에 주는 영향을 파악해야 워크로드 성능을 최적화할 수 있습니다. 

 **일반적인 안티 패턴:** 
+  기존의 모든 IT 워크로드 성능 전략이 클라우드 워크로드에 가장 적합하다고 가정합니다. 
+  관리형 서비스를 사용하는 대신 캐싱 솔루션을 구축하고 관리합니다. 
+  어떤 패턴이 위크로드 성능을 개선하는지 평가하지 않고 모든 워크로드에 대해 동일한 설계 패턴을 사용합니다. 

 **이 모범 사례 확립의 이점:** 워크로드에 적합한 설계 패턴 및 서비스를 선택하면 성능을 최적화하고 운영 우수성을 개선하며 신뢰성을 개선할 수 있습니다. 올바른 설계 패턴이 현재 워크로드 특성을 충족하고 향후 성장 또는 변경에 맞춰 확장할 수 있도록 돕습니다. 

 **이 모범 사례가 확립되지 않을 경우 노출되는 위험 수준:** 높음 

## 구현 가이드
<a name="implementation-guidance"></a>

 사용 가능한 성능 구성 옵션과 이러한 옵션이 워크로드에 미치는 영향을 확인합니다. 이러한 옵션이 아키텍처와 상호 작용하는 방식과 측정된 성능과 사용자의 체감 성능에 미치는 영향을 파악해야 워크로드 성능을 최적화할 수 있습니다. 

 **구현 단계:** 

1. 워크로드 성능을 개선하는 설계 패턴을 평가 및 검토합니다. 

   1.  [Amazon Builders' Library](https://aws.amazon.com/builders-library/) 는 Amazon의 기술 구축 및 운영 방식에 관한 상세한 설명을 제공합니다. 이러한 문서는 Amazon의 선임 엔지니어가 작성하며 아키텍처, 소프트웨어 전송 및 운영 전반에 걸친 주제를 다룹니다. 

   1. [AWS 솔루션 라이브러리](https://aws.amazon.com/solutions/) 는 서비스, 코드 및 구성을 모아 놓은 바로 배포 가능한 솔루션 컬렉션입니다. 이러한 솔루션은 일반적인 사용 사례와 산업 또는 워크로드 유형별로 그룹화된 설계 패턴을 기반으로 AWS 및 AWS 파트너가 생성했습니다. 예를 들어 워크로드에 대해 [분산 로드 테스트 솔루션](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 을 설정할 수 있습니다. 

   1. [AWS 아키텍처 센터](https://aws.amazon.com/architecture/) 는 설계 패턴, 콘텐츠 유형 및 기술별로 그룹화된 참조 아키텍처 다이어그램을 제공합니다. 

   1. [AWS 샘플](https://github.com/aws-samples) 은 실습 예제로 가득 찬 GitHub 리포지토리로, 일반적인 아키텍처 패턴, 솔루션 및 서비스를 살펴보는 데 도움이 됩니다. 최신 서비스 및 예제로 자주 업데이트됩니다. 

1. 선택한 설계 패턴을 모델링하도록 워크로드를 개선하고 서비스 및 서비스 구성 옵션을 사용하여 워크로드 성능을 개선합니다. 

   1. 다음 위치에서 사용할 수 있는 리소스로 내부 팀을 교육할 수 있습니다. [AWS Skills Guild](https://aws.amazon.com/training/teams/aws-skills-guild/). 

   1.  [AWS Partner Network](https://aws.amazon.com/partners/) 을(를) 사용하여 전문 지식을 빠르게 제공하고 개선 역량을 확장할 수 있습니다. 

**구현 계획의 작업 수준:** 이 모범 사례를 확립하려면 워크로드 성능을 개선하는 데 도움이 될 수 있는 설계 패턴 및 서비스를 파악해야 합니다. 설계 패턴을 평가한 후 설계 패턴 구현의 작업 수준은 *높음* 입니다. 

## 리소스
<a name="resources"></a>

 **관련 문서:** 
+  [AWS 아키텍처 센터](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [AWS 솔루션 라이브러리](https://aws.amazon.com/solutions/) 
+  [AWS 지식 센터](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+  [Amazon Builders' Library](https://aws.amazon.com/builders-library/) 
+  [로드 셰딩을 사용하여 오버로드 방지](https://aws.amazon.com/builders-library/using-load-shedding-to-avoid-overload/?did=ba_card&trk=ba_card) 
+ [캐싱 관련 당면 과제 및 전략](https://aws.amazon.com/builders-library/caching-challenges-and-strategies/?did=ba_card&trk=ba_card)

 **관련 동영상:** 
+  [Amazon Builders’ Library 소개(DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [This is My Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 

 **관련 예시:** 
+  [AWS 샘플](https://github.com/aws-samples) 
+  [AWS SDK 예시](https://github.com/awsdocs/aws-doc-sdk-examples) 

# PERF08-BP03 절충이 고객 및 효율성에 주는 영향 파악
<a name="perf_tradeoffs_performance_understand_impact"></a>

 성능 관련 개선 사항을 평가할 때는 고객 및 워크로드 효율성에 영향을 미치는 옵션을 결정합니다. 예를 들어 키–값 데이터 스토어를 사용하여 시스템 성능이 개선되는 경우, 이 옵션의 지속되는 특성이 결과적으로 고객에 미치는 영향을 평가하는 것이 중요합니다. 

 지표와 모니터링을 통해 시스템에서 성능 수준이 낮은 영역을 파악합니다. 성능을 개선할 수 있는 방법과 해당 개선 과정에서 트레이드-오프해야 하는 요소와 성능 개선 작업이 시스템과 사용자 환경에 미치는 영향을 확인합니다. 예를 들어 데이터 캐싱 구현 시에는 성능을 크게 개선할 수 있지만, 캐시된 데이터를 업데이트하거나 무효화할 방법 및 시기와 관련된 명확한 전략을 마련해야 잘못된 시스템 동작을 방지할 수 있습니다. 

 **일반적인 안티 패턴:** 
+  최종 일관성과 같은 구현에 대한 절충점이 있더라도 모든 성능 이점을 구현해야 한다고 가정합니다. 
+  성능 문제가 심각한 지점에 도달했을 때만 워크로드 변경을 평가합니다. 

 **이 모범 사례 수립의 이점:** 잠재적인 성능 관련 개선 사항을 평가할 때는 변경에 대한 절충이 워크로드 요구 사항과 일치하는지 여부를 결정해야 합니다. 경우에 따라 절충을 보상하기 위해 추가 제어를 구현해야 할 수도 있습니다. 

 **이 모범 사례가 수립되지 않을 경우 노출되는 위험의 수준:** 높음 

## 구현 가이드
<a name="implementation-guidance"></a>

 절충 파악: 지표와 모니터링을 사용하여 시스템에서 성능 수준이 낮은 영역을 파악합니다. 개선 방법과 절충이 시스템과 사용자 환경에 미치는 영향을 결정합니다. 예를 들어 데이터 캐싱 구현 시에는 성능을 크게 개선할 수 있지만, 잘못된 시스템 동작을 방지하기 위해 캐시된 데이터를 업데이트하거나 무효화할 방법 및 시기와 관련된 명확한 전략을 마련해야 합니다. 

## 리소스
<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) 

 **관련 동영상:** 
+  [Amazon Builders’ Library 소개(DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [모니터링 플랜 세우기](https://www.youtube.com/watch?v=OMmiGETJpfU&ref=wellarchitected) 
+  [Amazon CloudWatch RUM을 통한 애플리케이션 최적화](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+  [Amazon CloudWatch Synthetics 데모](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **관련 예시:** 
+  [Amazon CloudWatch Synthetics를 활용한 페이지 로드 시간 측정](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Amazon CloudWatch RUM 웹 클라이언트](https://github.com/aws-observability/aws-rum-web) 

# PERF08-BP04 성능 개선의 영향 측정
<a name="perf_tradeoffs_performance_measure"></a>

 성능 개선을 위해 변경이 수행된 경우 수집된 지표와 데이터를 평가합니다. 이 정보를 사용하여 성능 개선이 워크로드, 워크로드의 구성 요소 및 고객에게 미치는 영향을 확인합니다. 이 측정을 수행하면 트레이드-오프를 통한 성능 개선을 파악할 수 있으며 부정적인 부작용 발생 여부를 확인할 수 있습니다. 

 잘 설계된 시스템은 다양한 성능 관련 전략을 조합하여 활용합니다. 따라서 지정된 핫스팟이나 병목 현상을 가장 많이 개선할 수 있는 전략을 결정해야 합니다. 예를 들어 여러 관계형 데이터베이스 시스템에서 데이터를 샤딩하면 전반적인 처리량이 높아지는 동시에 트랜잭션이 계속 지원됩니다. 각 샤드 내에서 캐싱을 수행하면 로드를 줄일 수 있습니다. 

 **일반적인 안티 패턴:** 
+  관리형 서비스로 제공되는 기술을 수동으로 배포하고 관리합니다. 
+  여러 구성 요소를 사용하여 워크로드의 성능을 높일 수 있는 경우 네트워킹과 같은 하나의 구성 요소에만 집중합니다. 
+  고객의 피드백과 관점을 유일한 벤치마크로 삼습니다. 

 **이 모범 사례 수립의 이점:** 성능 전략을 구현할 때는 여러 서비스와 기능을 선택해야 합니다. 이렇게 하면 성능에 대한 워크로드 요구 사항을 충족할 수 있습니다. 

 **이 모범 사례가 수립되지 않을 경우 노출되는 위험의 수준:** 보통 

## 구현 가이드
<a name="implementation-guidance"></a>

 Well-Architected 시스템은 다양한 성능 관련 전략을 조합하여 활용합니다. 따라서 지정된 핫스팟이나 병목 현상을 가장 많이 개선할 수 있는 전략을 결정해야 합니다. 예를 들어 여러 관계형 데이터베이스 시스템에서 데이터를 샤딩하면 전반적인 처리량이 높아지는 동시에 트랜잭션이 계속 지원됩니다. 각 샤드 내에서 캐싱을 수행하면 로드를 줄일 수 있습니다. 

## 리소스
<a name="resources"></a>

 **관련 문서:** 
+  [Amazon Builders' Library](https://aws.amazon.com/builders-library) 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 
+  [AWS에서의 분산 로드 테스트](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/welcome.html) 

 **관련 동영상:** 
+  [Amazon Builders’ Library 소개(DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [Amazon CloudWatch RUM을 통한 애플리케이션 최적화](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+  [Amazon CloudWatch Synthetics 데모](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **관련 예시:** 
+  [Amazon CloudWatch Synthetics를 활용한 페이지 로드 시간 측정](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Amazon CloudWatch RUM 웹 클라이언트](https://github.com/aws-observability/aws-rum-web) 
+  [AWS에서의 분산 로드 테스트](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 

# PERF08-BP05 다양한 성능 관련 전략 사용
<a name="perf_tradeoffs_performance_implement_strategy"></a>

 해당하는 경우 다수의 전략을 활용하여 성능을 개선합니다. 예를 들어 데이터 캐싱 등의 전략을 사용해 과도한 네트워크 또는 데이터베이스 호출을 방지하고, 데이터베이스 엔진용 읽기 전용 복제본을 사용해 읽기 속도를 높이고, 가능한 경우 데이터 샤딩/압축을 수행하여 데이터 볼륨을 줄이고, 제공되는 결과를 버퍼링/스트리밍하여 차단을 방지하는 등의 전략을 사용할 수 있습니다. 

 워크로드를 변경할 때는 지표를 수집 및 평가하여 변경의 영향을 확인합니다. 시스템 및 최종 사용자에 대한 영향을 모두 측정하여 절충 작업이 워크로드에 미치는 영향을 파악합니다. 로드 테스트 등의 체계적인 방식을 사용해 개별 요소 트레이드-오프 시, 성능을 개선할 수 있는지 여부를 파악합니다. 

 **일반적인 안티 패턴:** 
+  고객이 불만을 제기하지 않으면 워크로드 성능이 적절한 것이라고 가정합니다. 
+  성능 관련 변경을 수행한 후에만 성능에 대한 데이터를 수집합니다. 

 **이 모범 사례 수립의 이점:** 성능 및 리소스 사용률을 최적화하려면 통합된 운영 보기, 세분화된 실시간 데이터 및 기간별 참조가 필요합니다. 대시보드를 생성하고 데이터에 대한 지표 산술을 수행하여 워크로드 운영 및 사용률의 시간대별 변화에 대한 인사이트를 도출할 수 있습니다. 

 **이 모범 사례가 수립되지 않을 경우 노출되는 위험의 수준:** 낮음 

## 구현 가이드
<a name="implementation-guidance"></a>

 데이터 기반 접근 방식을 통해 아키텍처 발전 도모: 워크로드를 변경할 때는 지표를 수집 및 평가하여 변경의 영향을 확인합니다. 시스템 및 최종 사용자에 대한 영향을 모두 측정하여 절충 작업이 워크로드에 미치는 영향을 파악합니다. 로드 테스트 등의 체계적인 방식을 사용해 개별 요소 트레이드-오프 시, 성능을 개선할 수 있는지 여부를 파악합니다. 

## 리소스
<a name="resources"></a>

 **관련 문서:** 
+  [Amazon Builders' Library](https://aws.amazon.com/builders-library) 
+  [Amazon ElastiCache 구현 모범 사례](https://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/BestPractices.html) 
+  [AWS 데이터베이스 캐싱 ](https://aws.amazon.com/caching/database-caching/?ref=wellarchitected) 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [AWS에서의 분산 로드 테스트](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/welcome.html) 

 **관련 동영상:** 
+  [Amazon Builders’ Library 소개(DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [AWS purpose-built databases(DAT209-L) ](https://www.youtube.com/watch?v=q81TVuV5u28&ref=wellarchitected) 
+  [Amazon CloudWatch RUM을 통한 애플리케이션 최적화](https://www.youtube.com/watch?v=NMaeujY9A9Y) 

 **관련 예시:** 
+  [Amazon CloudWatch Synthetics를 활용한 페이지 로드 시간 측정](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Amazon CloudWatch RUM 웹 클라이언트](https://github.com/aws-observability/aws-rum-web) 
+  [AWS에서의 분산 로드 테스트](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 