PERF05-BP04 워크로드 로드 테스트
워크로드 로드 테스트를 통해 프로덕션 로드를 처리할 수 있는지 확인하고 성능 병목 현상을 파악할 수 있습니다.
일반적인 안티 패턴:
-
전체 워크로드가 아니라 워크로드의 개별 부분을 로드 테스트를 수행합니다.
-
프로덕션 환경과 동일하지 않은 인프라에서 로드 테스트를 수행합니다.
-
향후 문제가 발생할 수 있는 위치를 예측할 때 예상 로드에 대해서만 로드 테스트를 수행합니다.
-
Amazon EC2 테스트 정책
을 참조하거나 시뮬레이션된 이벤트 제출 양식을 제출하지 않고도 로드 테스트를 수행할 수 있습니다. 이는 서비스 거부 이벤트처럼 보이기 때문에 테스트 실행이 실패하게 됩니다.
이 모범 사례 확립의 이점: 로드 테스트에서 성능을 측정하면 로드 증가의 영향을 받게 될 위치를 알 수 있습니다. 이렇게 하면 워크로드에 영향을 미치기 전에 필요한 변경 사항을 예상할 수 있습니다.
이 모범 사례가 확립되지 않을 경우 노출되는 위험 수준: 낮음
구현 가이드
클라우드에서의 로드 테스트는 예상되는 사용자 부하가 있는 실제 조건에서 클라우드 워크로드의 성능을 측정하는 프로세스입니다. 이 프로세스에는 프로덕션과 유사한 클라우드 환경을 프로비저닝하고, 로드 테스트 도구를 사용하여 로드를 생성하며, 지표를 분석하여 실제 워크로드 처리 능력을 평가하는 작업이 포함됩니다. 로드 테스트는 프로덕션 데이터의 통합 또는 제거 버전(민감한 정보 또는 식별 정보 제거)을 사용하여 실행되어야 합니다. 전송 파이프라인의 일부로 로드 테스트를 자동으로 수행하고 결과를 미리 정의된 KPI 및 임곗값과 비교합니다. 이 프로세스를 통해 필요한 성능을 계속해서 달성할 수 있습니다.
구현 단계
-
테스트 목표 정의: 평가하려는 워크로드의 성능 측면(예: 처리량 및 응답 시간)을 식별합니다.
-
테스트 도구 선택: 워크로드에 적합한 로드 테스트 도구를 선택하고 구성합니다.
-
환경 설정: 프로덕션 환경에 따라 테스트 환경을 설정합니다. AWS 서비스를 사용하면 프로덕션 규모의 환경을 실행하여 아키텍처를 테스트할 수 있습니다.
-
모니터링 구현: Amazon CloudWatch
와 같은 모니터링 도구를 사용하여 아키텍처의 리소스 전반에서 지표를 수집합니다. 사용자 지정 지표를 수집하고 게시할 수도 있습니다. -
시나리오 정의: 로드 테스트 시나리오 및 파라미터(테스트 기간 및 사용자 수 등)를 정의합니다.
-
로드 테스트 수행: 대규모로 테스트 시나리오를 수행합니다. AWS 클라우드를 활용하여 워크로드를 테스트하여 확장에 실패하거나 비선형적인 방식으로 확장되는 부분을 발견하세요. 예를 들어, 스팟 인스턴스를 사용하여 저렴한 비용으로 로드를 생성하고 프로덕션 환경에서 발생하기 전에 병목 현상을 발견할 수 있습니다.
-
테스트 결과 분석: 결과를 분석하여 성능 병목 현상과 개선이 필요한 영역을 파악합니다.
-
조사 결과 문서화 및 공유: 조사 결과 및 권장 사항을 문서화하고 보고합니다. 이해관계자와 이 정보를 공유하면 이해관계자가 성능 최적화 전략과 관련하여 정보에 입각한 결정을 내리는 데 도움이 됩니다.
-
지속적인 반복: 로드 테스트는 정기적으로, 특히 시스템 변경 또는 업데이트 후에 수행해야 합니다.
리소스
관련 문서:
관련 비디오:
관련 예제: