PERF08-BP01 성능이 가장 중요한 영역 파악
워크로드 성능을 개선하여 효율성을 높이고 고객 환경을 개선할 수 있는 영역을 파악합니다. 예를 들어, 많은 양의 고객 상호 작용이 수행되는 웹 사이트에서는 엣지 서비스를 사용하여 콘텐츠 전송 위치를 고객과 더 가까운 곳으로 이동하는 방법으로 성능을 개선할 수 있습니다.
원하는 결과: 아키텍처, 트래픽 패턴 및 데이터 액세스 패턴을 이해하여 성능 효율성이 향상되고 지연 시간 및 처리 시간을 파악합니다. 워크로드가 증가하면서 고객 환경에 영향을 미칠 수 있는 잠재적 병목 현상을 파악합니다. 이러한 영역을 파악할 때는 성능 문제를 제거하기 위해 배포할 수 있는 솔루션을 살펴보는 것이 좋습니다.
일반적인 안티 패턴:
-
표준 컴퓨팅 지표, 즉
CPUUtilization
또는 메모리 압력이 성능 문제를 포착하기에 충분한 것으로 가정합니다. -
선택한 모니터링 소프트웨어에서 기록한 기본 지표만 사용합니다.
-
문제가 발생한 경우에만 지표를 검토합니다.
이 모범 사례 확립의 이점: 성능의 중요 영역을 이해함으로써 워크로드 소유자가 KPI를 모니터링하고 큰 영향을 미치는 개선에 우선순위를 지정할 수 있습니다.
이 모범 사례가 확립되지 않을 경우 노출되는 위험의 수준: 높음
구현 가이드
트래픽 패턴, 지연 시간 및 중요한 성능 영역을 파악할 수 있는 엔드 투 엔드 추적을 설정합니다. 데이터 액세스 패턴을 모니터링하여 쿼리 속도가 느리거나 데이터 조각이 잘못되거나 잘못 분할된 데이터를 찾습니다. 로드 테스트 또는 모니터링을 사용하여 워크로드의 제한된 영역을 파악합니다.
구현 단계
-
엔드 투 엔드 모니터링을 설정하여 모든 워크로드 구성 요소 및 지표를 캡처합니다.
-
실제 사용자 클라이언트 측 및 프런트 엔드 세션에서 애플리케이션 성능 지표를 캡처할 수 있도록 Amazon CloudWatch RUM(실제 사용자 모니터링) 을 사용합니다.
-
애플리케이션 레이어를 통해 트래픽을 추적하고 구성 요소와 종속 요소 간 지연 시간을 파악할 수 있도록 AWS X-Ray
를 설정합니다. X-Ray 서비스 맵을 사용하여 워크로드 구성 요소 간 관계 및 지연 시간을 확인합니다. -
데이터베이스 성능 지표를 확인하고 성능 개선을 파악할 수 있도록 Amazon Relational Database Service 성능 개선 도우미
를 사용합니다. -
데이터베이스 OS 성능 지표를 파악할 수 있도록 Amazon RDS 향상된 모니터링 을 사용합니다.
-
워크로드 구성 요소 및 서비스별 CloudWatch 지표 를 수집하고 어떤 지표가 성능 효율성에 영향을 미치는지 파악합니다.
-
애플리케이션 레이어를 통해 트래픽을 추적하고 구성 요소와 종속 요소 간 지연 시간을 파악할 수 있도록 Amazon DevOps Guru
를 설정합니다.
-
-
지표를 생성하고 트래픽 패턴, 병목 현상 및 중요한 성능 영역을 파악하기 위한 테스트를 수행합니다.
-
애플리케이션 레이어를 통해 트래픽을 추적하고 구성 요소와 종속 요소 간 지연 시간을 파악할 수 있도록 CloudWatch Synthetic Canary 를 설정하고 이때
cron
작업 또는 속도 표현식을 사용하여 시간에 따라 일관된 지표를 생성하도록 합니다. -
최대 트래픽을 생성하거나 예상 증가율로 워크로드를 테스트할 수 있도록 AWS 분산 로드 테스트
솔루션을 사용합니다.
-
-
지표 및 텔레메트리를 평가하여 중요한 성능 영역을 파악합니다. 팀과 함께 이러한 영역을 검토하여 병목 현상을 방지할 수 있는 모니터링 및 솔루션을 논의합니다.
-
성능 개선을 실험하고 데이터로 이러한 변경 사항을 측정합니다.
-
워크로드의 새로운 개선 및 워크로드에 영향을 미치는 성능을 테스트하도록 CloudWatch Evidently 를 사용합니다.
-
구현 계획의 작업 수준: 이 모범 사례를 확립하려면 엔드 투 엔드 지표를 검토하고 현재 워크로드 성능을 인지해야 합니다. 엔드 투 엔드 모니터링을 설정하고 중요한 성능 영역을 파악하는 것은 중간 수준의 작업입니다.
리소스
관련 문서:
관련 동영상:
관련 예시: