PERF 8: 절충을 통해 성능을 개선하려면 어떻게 해야 합니까?
솔루션을 설계할 때 절충이 필요한 영역을 결정하면 최적의 접근 방식을 선택할 수 있습니다. 일관성, 내구성 및 공간을 포기하는 대신, 시간 및 지연 시간을 선택하여 성능을 개선할 수 있는 경우가 많습니다.
리소스
Introducing The Amazon Builders’ Library (DOP328)
Amazon Builders’ Library
Best Practices for Implementing Amazon ElastiCache
모범 사례:
-
성능이 가장 중요한 영역 파악: 워크로드 성능을 개선하여 효율성을 높이고 고객 환경을 개선할 수 있는 영역을 파악합니다. 예를 들어 많은 양의 고객 상호 작용이 수행되는 웹 사이트에서는 엣지 서비스를 사용하여 콘텐츠 전송 위치를 고객과 더 가까운 곳으로 이동하는 방법으로 성능을 개선할 수 있습니다.
-
설계 패턴 및 서비스 파악: 워크로드 성능 개선에 도움이 되는 다양한 설계 패턴과 서비스를 조사하고 파악합니다. 분석을 수행하는 동안 성능 개선을 위해 절충할 수 있는 요소를 파악합니다. 예를 들어 캐시 서비스를 사용하면 데이터베이스 시스템의 로드를 줄일 수 있습니다. 하지만 안전한 캐싱을 구현하기 위한 엔지니어링을 수행해야 하거나, 특정 영역에서 최종 일관성 개념을 도입해야 할 수 있습니다.
-
절충이 고객 및 효율성에 주는 영향 파악:: 성능 관련 개선 사항을 평가할 때는 고객 및 워크로드 효율성에 영향을 미치는 옵션을 결정합니다. 예를 들어 키–값 데이터 스토어를 사용하여 시스템 성능이 개선되는 경우, 이 옵션의 지속되는 특성이 결과적으로 고객에 미치는 영향을 평가하는 것이 중요합니다.
-
성능 개선의 영향 측정:: 성능 개선을 위해 변경이 수행된 경우 수집된 지표와 데이터를 평가합니다. 이 정보를 사용하여 성능 개선이 워크로드, 워크로드의 구성 요소 및 고객에게 미치는 영향을 확인합니다. 이 측정을 수행하면 절충을 통한 성능 개선을 파악할 수 있으며 부정적인 부작용 발생 여부를 확인할 수 있습니다.
-
다양한 성능 관련 전략 사용: 해당하는 경우 다수의 전략을 활용하여 성능을 개선합니다. 예를 들어 데이터 캐싱 등의 전략을 사용해 과도한 네트워크 또는 데이터베이스 호출을 방지하고, 데이터베이스 엔진용 읽기 전용 복제본을 사용해 읽기 속도를 높이고, 가능한 경우 데이터 샤딩/압축을 수행하여 데이터 볼륨을 줄이고, 제공되는 결과를 버퍼링/스트리밍하여 차단을 방지하는 등의 전략을 사용할 수 있습니다.
개선 계획
성능이 가장 중요한 영역 파악
설계 패턴 및 서비스 파악
Amazon Builders’ Library
절충이 고객 및 효율성에 주는 영향 파악:
성능 개선의 영향 측정:
다양한 성능 관련 전략 사용