성능 테스트에 대한 권장 사항
이 Azure Well-Architected Framework 성능 효율성 검사 목록 권장 사항에 적용됩니다.
PE:06 | 성능을 테스트합니다. 프로덕션 환경과 일치하는 환경에서 정기적인 테스트를 수행합니다. 결과를 성능 목표 및 성능 벤치마크와 비교합니다. |
---|
이 가이드에서는 테스트에 대한 권장 사항을 설명합니다. 성능 테스트는 다양한 시나리오에서 워크로드의 기능을 평가하는 데 도움이 됩니다. 워크로드의 응답 시간, 처리량, 리소스 사용률 및 안정성을 테스트하여 워크로드가 성능 요구 사항을 충족하는지 확인하는 데 도움이 됩니다.
테스트는 성능 문제를 방지하는 데 도움이 됩니다. 또한 워크로드가 서비스 수준 계약을 충족하는지 확인하는 데 도움이 됩니다. 성능 테스트가 없으면 워크로드가 종종 예방 가능한 성능 저하를 경험할 수 있습니다. 워크로드 성능은 성능 목표 및 설정된 기준에서 드리프트될 수 있습니다.
정의
용어 | 정의 |
---|---|
카오스 테스트 | 임의 및 예측할 수 없는 오류 또는 중단을 의도적으로 도입하여 시스템의 복원력과 안정성을 테스트하는 것을 목표로 하는 성능 테스트입니다. |
부하 테스트 | 일반적이고 부하가 많은 시스템 성능을 측정하는 성능 테스트입니다. |
성능 기준선 | 테스트를 통해 유효성을 검사한 정상 조건에서 워크로드의 동작을 나타내는 메트릭 집합입니다. |
스트레스 테스트 | 중단될 때까지 시스템을 오버로드하는 성능 테스트입니다. |
가상 테스트 | 애플리케이션에서 사용자 요청을 시뮬레이션하는 성능 테스트입니다. |
주요 디자인 전략
성능 테스트를 통해 워크로드에서 측정 가능한 데이터를 수집할 수 있습니다. 테스트를 충분히 일찍 실행하면 워크로드를 올바른 사양으로 빌드하는 데도 도움이 됩니다. 소프트웨어 개발 수명 주기에서 가능한 한 빨리 성능 테스트를 수행해야 합니다. 초기 테스트를 사용하면 개발 초기에 성능 문제를 파악하고 해결할 수 있습니다. 프로덕션 코드가 준비되지 않은 경우 POC(개념 증명)를 사용할 수 있습니다.
테스트 준비
성능 테스트를 준비하는 것은 성능 테스트를 효과적으로 수행하는 데 필요한 리소스, 구성 및 테스트 시나리오를 설정하고 정렬하는 것을 의미합니다.
승인 기준 정의
수용 조건은 워크로드가 허용 가능하거나 성공한 것으로 간주되기 위해 충족해야 하는 성능 요구 사항을 지정합니다. 성능 대상에 맞는 조건을 정의합니다.
성능 목표를 검토합니다. 성능 목표는 워크로드에 대해 원하는 성능 수준을 정의합니다. 워크로드에 대해 설정된 성능 목표를 검토합니다. 성능 대상은 응답 시간, 처리량, 리소스 사용률 또는 기타 관련 성능 지표를 포함할 수 있는 메트릭입니다. 예를 들어 응답 시간이 2초 미만과 같은 특정 임계값 미만인 대상이 있을 수 있습니다.
수락 조건을 정의합니다. 성능 목표를 워크로드의 성능을 평가하는 데 사용할 수 있는 특정 수용 조건으로 변환합니다. 예를 들어 응답 시간에 대한 성능 대상이 2초 이하라고 가정합니다. 수락 기준 은 워크로드의 평균 응답 시간이 2초 미만이어야 합니다. 이러한 수용 기준을 사용하여 워크로드가 원하는 성능 수준을 충족하는지 여부를 결정합니다.
수용 기준을 정의할 때는 사용자와 해당 기대에 집중하는 것이 중요합니다. 수용 기준은 배달된 작업이 사용자 요구 사항 및 요구 사항을 충족하는지 확인하는 데 도움이 됩니다. 사용자 관점을 수용 기준에 통합하기 위한 다음 고려 사항에 유의하세요.
사용자 요구 사항: 워크로드에 대한 사용자 요구 사항 및 목표를 이해합니다. 이러한 요구 사항을 충족하기 위해 워크로드가 어떻게 수행되어야 하는지 고려합니다.
사용자 환경: 원하는 사용자 환경을 캡처하는 수락 기준을 정의합니다. 응답 시간, 유용성, 접근성 및 전반적인 만족도와 같은 요소를 포함합니다.
기능 요구 사항: 사용자가 워크로드에서 볼 것으로 예상되는 특정 기능을 해결합니다. 이러한 기능 요구 사항에 대한 수용 기준을 정의하여 충족되는지 확인합니다.
사용 사례: 사용자가 발생할 수 있는 다양한 시나리오 또는 사용 사례를 고려합니다. 실제 상황에서 워크로드의 성능에 대한 유효성을 검사하기 위해 이러한 사용 사례를 기반으로 승인 기준을 정의합니다.
수락 임계값을 설정합니다. 워크로드가 성능 목표를 충족하는지 여부를 나타내는 수락 조건 내의 임계값을 결정합니다. 이러한 임계값은 각 메트릭에 대해 허용되는 성능 범위를 정의합니다. 예를 들어 응답 시간에 대한 수락 기준이 2초 미만이라고 가정합니다. 임계값을 2.5초로 설정할 수 있습니다. 이 수준은 2.5초가 넘는 응답 시간이 성능 문제로 간주됨을 나타냅니다.
전달 조건을 정의합니다. 워크로드가 성능 테스트를 통과했는지 또는 실패했는지 여부를 결정하기 위한 기준을 설정합니다. 모든 수락 조건을 충족하거나 특정 비율을 달성하는 것으로 전달을 정의할 수 있습니다.
테스트 유형 선택
올바른 유형의 성능 테스트를 선택하려면 테스트를 수락 조건에 맞추는 것이 중요합니다. 수락 기준은 요구 사항 또는 버그 수정을 고려하기 위해 충족해야 하는 조건을 정의합니다. 성능 테스트는 워크로드가 이러한 수용 조건을 충족하고 지정된 조건에서 예상대로 작동하는지 확인하는 것을 목표로 해야 합니다. 성능 테스트 유형을 수용 조건에 맞추면 테스트가 기준이 정의하는 성능 기대치를 충족하는 데 중점을 두는 데 도움이 됩니다.
수용 기준을 이해합니다. 요구 사항 또는 버그 수정에 대한 수용 기준을 검토합니다. 조건은 충족할 특정 조건 및 기능을 간략하게 설명합니다.
관련 성능 메트릭을 식별합니다. 수용 기준에 따라 원하는 결과를 달성하는 데 중요한 성능 메트릭을 결정합니다. 예를 들어 수락 조건이 응답 시간에 초점을 맞추는 경우 부하 테스트의 우선 순위를 지정하는 것이 적절할 수 있습니다.
적절한 테스트 유형을 선택합니다. 사용 가능한 테스트 유형을 평가하고 식별된 성능 메트릭 및 수용 기준에 가장 적합한 테스트 유형을 선택합니다.
다음 표에서는 테스트 유형 및 해당 사용 사례의 샘플을 제공합니다.
테스트 형식 | Description | 사용 사례 |
---|---|---|
부하 테스트 | 실제 사용자 로드를 시뮬레이션하여 예상 최대 워크로드에서 워크로드가 수행하는 방식을 측정합니다. | 부하 허용 오차를 결정합니다. |
스트레스 테스트 | 워크로드를 정상 제한을 초과하여 중단점을 식별하고 복구 기능을 측정합니다. | 복원력 및 견고성을 결정합니다. |
적시 테스트(지구력 테스트) | 장기간 높은 부하로 워크로드를 실행하여 성능 저하, 메모리 누수 또는 리소스 문제를 식별합니다. | 시간이 지남에 따라 안정성 및 안정성을 평가합니다. |
스파이크 테스트 | 사용자 부하의 급격한 증가를 시뮬레이션하여 워크로드가 갑작스러운 수요 변경을 처리하는 방법을 평가합니다. | 사용량이 많은 기간 동안 성능을 스케일링하고 유지하는 기능을 측정합니다. |
호환성 테스트 | 다양한 플랫폼, 브라우저 또는 디바이스에서 워크로드의 성능을 테스트합니다. | 다양한 환경에서 일관된 성능을 보장하는 데 도움이 됩니다. |
워크로드의 특성 및 요구 사항에 따라 선택한 테스트 형식의 우선 순위를 지정합니다. 성능 메트릭의 중요도, 사용자 기대치, 비즈니스 우선 순위, 알려진 문제 또는 취약성과 같은 요인을 고려합니다.
테스트 도구 선택
실행하려는 성능 테스트 유형에 따라 적절한 도구를 선택합니다. 테스트 환경의 인프라, 리소스 및 제약 조건을 평가합니다. 원하는 테스트 유형을 지원하는 테스트 도구를 선택하고 모니터링, 측정, 분석 및 보고에 필요한 기능을 제공합니다.
APM(애플리케이션 성능 모니터링) 도구는 애플리케이션에 대한 심층적인 인사이트를 제공하며 필수 테스트 도구입니다. 개별 트랜잭션을 추적하고 다양한 워크로드 서비스를 통해 경로를 매핑하는 데 도움이 됩니다. 테스트 후에는 APM 도구를 사용하여 테스트 데이터를 성능 기준과 분석하고 비교해야 합니다.
프로파일링 도구를 사용하여 코드에서 성능 병목 상태를 식별합니다. 프로파일링은 대부분의 리소스를 사용하고 최적화가 필요한 코드 영역을 식별하는 데 도움이 됩니다. 코드의 다른 부분의 실행 시간 및 메모리 사용에 대한 인사이트를 제공합니다.
다음 단계는 적절한 테스트 도구를 선택하는 데 도움이 될 수 있습니다.
테스트 요구 사항을 식별합니다. 먼저 성능 테스트의 특정 요구 사항을 이해합니다. 다음과 같은 다양한 요소를 고려합니다.
- 워크로드 유형
- 응답 시간 및 처리량과 같이 측정할 성능 메트릭
- 워크로드 아키텍처의 복잡성
- 클라우드 기반, 온-프레미스 또는 하이브리드와 같은 테스트 환경
연구 테스트 도구. 연구를 수행하여 요구 사항에 맞는 성능 테스트 도구를 식별합니다. 시장에서 사용할 수 있는 상용 및 오픈 소스 도구를 고려합니다. 부하 테스트 또는 스트레스 테스트와 같은 원하는 유형의 성능 테스트를 지원하고 성능 메트릭을 측정하기 위한 기능을 제공하는 도구를 찾습니다.
도구 기능을 평가합니다. 각 테스트 도구에서 제공하는 기능을 평가합니다. 실제 사용자 동작 시뮬레이션 및 대규모 사용자 로드를 처리하기 위한 확장성과 같은 기능을 찾습니다. 다양한 프로토콜 및 기술, 다른 테스트 도구 또는 프레임워크와의 통합, 보고 및 분석 기능에 대한 지원을 고려합니다.
호환성 및 통합을 고려합니다. 테스트 도구와 기존 인프라 및 기술의 호환성을 결정합니다. 도구를 테스트 환경에 쉽게 통합하고 모니터링 및 분석에 필요한 워크로드와 통신할 수 있는지 확인합니다.
비용 및 라이선스를 평가합니다. 테스트 도구와 연결된 비용 구조 및 라이선스 조건을 평가합니다. 초기 투자, 유지 관리 비용 및 지원 비용과 같은 요인을 고려합니다. 또한 사용자 또는 가상 사용자 수에 따라 다른 라이선스 요구 사항을 고려합니다.
POC를 수행합니다. 평가에 따라 가장 적합한 것으로 보이는 몇 가지 도구를 선택합니다. 소규모 POC를 수행하여 특정 테스트 시나리오에서 도구의 유용성, 기능 및 효율성의 유효성을 검사합니다.
지원 및 교육을 고려합니다. 도구의 공급업체 또는 커뮤니티에서 제공하는 지원 및 교육 수준을 평가합니다. 설명서, 자습서 및 기술 지원 채널의 가용성을 확인하여 테스트 프로세스 중에 발생할 수 있는 문제 또는 문제를 지원합니다.
테스트 시나리오 만들기
테스트 시나리오를 만드는 것은 워크로드의 성능을 테스트하는 데 적합한 특정 상황 또는 조건을 디자인하는 프로세스를 의미합니다. 실제 사용자 동작 및 워크로드 패턴을 에뮬레이트하기 위해 테스트 시나리오가 만들어집니다. 이러한 시나리오는 성능 테스터가 다양한 조건에서 워크로드의 성능을 평가하는 방법을 제공합니다.
테스트 시나리오를 사용하면 동시 사용자 액세스, 최대 로드 기간 또는 특정 트랜잭션 시퀀스 등의 다양한 워크로드 패턴을 복제할 수 있습니다. 다양한 워크로드 패턴에서 워크로드를 테스트하면 성능 병목 상태를 식별하고 리소스 할당을 최적화할 수 있습니다.
사용자 동작을 정의합니다. 사용자가 워크로드와 상호 작용할 때 수행하는 단계 및 작업을 식별하여 실제 사용자 동작 및 워크로드 패턴을 에뮬레이트합니다. 로그인, 검색 수행, 양식 제출 또는 특정 기능 액세스와 같은 활동을 고려합니다. 각 시나리오를 워크로드와 사용자의 상호 작용을 나타내는 특정 단계 및 작업으로 세분화합니다. 페이지 탐색, 트랜잭션 수행 또는 워크로드의 다양한 요소와 상호 작용을 포함할 수 있습니다.
데이터 참여를 결정합니다. 테스트 시나리오를 실행하는 데 필요한 테스트 데이터를 식별합니다. 다양한 시나리오, 사용자 프로필 또는 데이터 볼륨을 나타내는 실제 데이터 집합을 만들거나 생성하는 것을 포함할 수 있습니다. 테스트 데이터가 다양하고 다양한 사용 사례를 다루어 포괄적인 성능 평가를 제공하는지 확인합니다.
테스트 스크립트를 디자인합니다. 정의된 테스트 시나리오의 실행을 자동화하는 테스트 스크립트를 만듭니다. 테스트 스크립트는 일반적으로 작업, HTTP 요청 또는 워크로드 API 또는 사용자 인터페이스와의 상호 작용 시퀀스로 구성됩니다. 성능 테스트 도구 또는 프로그래밍 언어를 사용하여 매개 변수화, 상관 관계 및 동적 데이터 처리와 같은 요소를 고려하여 스크립트를 작성합니다. 정확성 및 기능에 대한 테스트 스크립트의 유효성을 검사합니다. 스크립트 오류, 누락되거나 잘못된 작업 또는 데이터 관련 문제와 같은 문제를 디버그합니다. 테스트 스크립트 유효성 검사는 정확하고 안정적인 성능 테스트 실행을 보장하는 데 매우 중요합니다.
테스트 변수 및 매개 변수를 구성합니다. 가변성을 도입하고 실제 시나리오를 시뮬레이션하도록 테스트 스크립트 내에서 변수 및 매개 변수를 구성합니다. 사용자 자격 증명, 입력 데이터 또는 임의화와 같은 매개 변수를 포함하여 다양한 사용자 동작 및 워크로드 응답을 모방합니다.
스크립트를 반복적으로 구체화합니다. 피드백, 테스트 결과 또는 변경 요구 사항에 따라 테스트 스크립트를 지속적으로 구체화하고 향상시킵니다. 스크립트 논리, 매개 변수화 및 오류 처리를 최적화하거나 추가 유효성 검사 및 검사점 추가를 고려합니다.
테스트 환경 구성
테스트 환경 구성은 프로덕션 환경과 매우 유사한 환경을 만드는 데 필요한 인프라, 소프트웨어 및 네트워크 구성을 설정하는 프로세스를 의미합니다.
성능 효율성을 높이는 방식으로 테스트 환경을 설정하려면 구성 프로세스에 다음 단계를 포함합니다.
프로덕션 환경을 미러링합니다. 프로덕션 환경과 매우 유사하도록 테스트 환경을 설정합니다. 인프라 구성, 네트워크 설정 및 소프트웨어 구성과 같은 요소를 고려합니다. 목표는 성능 테스트 결과가 실제 조건을 대표하도록 하는 것입니다.
충분한 리소스를 프로비전합니다. CPU, 메모리 및 디스크 공간과 같은 적절한 리소스를 테스트 환경에 할당합니다. 사용 가능한 리소스가 예상 워크로드를 처리하고 정확한 성능 측정을 제공할 수 있는지 확인합니다.
네트워크 조건을 복제합니다. 실제 워크로드 배포 중에 예상되는 네트워크 조건을 복제하도록 테스트 환경에서 네트워크 설정을 구성합니다. 대역폭, 대기 시간 및 네트워크 프로토콜을 포함해야 합니다.
종속성을 설치하고 구성합니다. 워크로드가 올바르게 실행되는 데 필요한 소프트웨어, 라이브러리, 데이터베이스 및 기타 종속성을 설치합니다. 예상 프로덕션 환경과 일치하도록 이러한 종속성을 구성합니다.
절충: 별도의 테스트 환경 유지 관리, 데이터 저장, 도구 사용 및 테스트 실행과 관련된 비용이 있습니다. 성능 테스트 비용을 파악하고 지출을 최적화하는 방법을 찾습니다.
위험: 프로덕션 데이터에는 중요한 정보가 포함될 수 있습니다. 강력한 스크러빙 및 마스킹 전략이 없으면 테스트에 프로덕션 데이터를 사용할 때 중요한 데이터가 누출될 위험이 있습니다.
테스트 수행
선택한 테스트 도구를 사용하여 성능 테스트를 실행합니다. 테스트에는 성능 메트릭 측정 및 기록, 상태 모니터링 및 발생하는 성능 문제 캡처가 포함됩니다.
응답 시간, 처리량, CPU 및 메모리 사용률 및 기타 관련 지표와 같은 성능 메트릭을 모니터링하고 수집합니다.
정의된 테스트 시나리오를 사용하여 워크로드를 예상 부하에 배치합니다. 이러한 다양한 부하 조건에서 테스트를 수행합니다. 예를 들어 정상, 최고 및 스트레스 수준과 같은 수준을 사용하여 다양한 시나리오에서 워크로드의 동작을 분석합니다.
결과 분석
테스트 결과를 분석하려면 성능 테스트에서 수집된 데이터와 메트릭을 검사하여 워크로드의 성능에 대한 인사이트를 얻습니다. 목표는 성능 문제를 식별하고 피드백을 사용하여 애플리케이션 개발의 우선 순위를 조정하는 것입니다. 다음 작업은 테스트 결과를 분석하기 위한 주요 단계입니다.
성능 메트릭을 검토합니다. 응답 시간, 처리량, 오류율, CPU 및 메모리 사용률, 네트워크 대기 시간 등 성능 테스트 중에 수집하는 성능 메트릭을 살펴봅니다. 이러한 메트릭을 분석하여 워크로드의 전반적인 성능을 이해합니다.
병목 상태를 확인합니다. 성능 메트릭을 평가하여 병목 상태 또는 비효율적인 성능 영역을 식별합니다. 평가에는 높은 응답 시간, 리소스 제약 조건, 데이터베이스 문제, 네트워크 대기 시간 및 확장성 제한 사항이 포함될 수 있습니다. 이러한 병목 현상의 근본 원인을 정확히 파악하면 성능 향상의 우선 순위를 지정하는 데 도움이 됩니다.
메트릭의 상관 관계를 지정합니다. 다양한 성능 메트릭 간의 관계 및 상관 관계를 평가합니다. 예를 들어 증가된 부하 또는 리소스 사용률이 응답 시간에 미치는 영향을 분석합니다. 이러한 상관 관계를 이해하면 다양한 조건에서 워크로드 동작에 대한 중요한 인사이트를 제공할 수 있습니다. 시간에 따른 성능 데이터의 패턴 및 추세를 찾습니다. 다른 부하 수준 또는 특정 기간 동안의 성능을 분석합니다. 추세를 감지하면 계절적 변화, 사용량이 가장 많은 시간 또는 반복되는 성능 문제를 식별하는 데 도움이 될 수 있습니다.
수락 기준을 평가합니다. 재시도 결과를 미리 정의된 수용 기준 및 성과 목표와 비교합니다. 워크로드가 원하는 성능 표준을 충족하는지 여부를 평가합니다. 워크로드가 수용 기준을 충족하지 않는 경우 최적화를 추가로 조사하고 구체화합니다.
분석을 반복하고 구체화합니다. 필요에 따라 다른 조정 및 개선 사항을 만듭니다. 수집된 데이터 및 메트릭을 사용하여 특정 성능 문제를 진단합니다. 진단에는 워크로드 구성 요소 추적, 로그 파일 검사, 리소스 사용량 모니터링 또는 오류 메시지 분석이 포함될 수 있습니다. 성능 문제의 근본 원인을 이해하기 위해 데이터를 자세히 살펴봅니다.
테스트 결과 분석에 따라 식별된 성능 문제의 우선 순위를 지정하고 필요한 개선 사항을 구현합니다. 향상된 기능에는 코드 최적화, 데이터베이스 쿼리 튜닝, 캐싱 메커니즘 개선 및 네트워크 구성 최적화가 포함될 수 있습니다.
기준 설정
기준은 시간에 따른 성능 결과를 비교하기 위한 참조 지점을 제공합니다. 기준은 워크로드 성능에 대한 의미 있는 스냅샷이어야 합니다. 모든 테스트를 기준으로 사용할 필요는 없습니다.
워크로드 목표를 고려하고 시간이 지남에 따라 학습하고 최적화할 수 있는 성능 스냅샷을 문서화합니다. 이러한 기준 측정을 향후 성능 테스트의 벤치마크로 사용하고 이를 사용하여 성능 저하 또는 개선을 식별합니다.
성능 테스트에 대한 기준을 설정하고 향후 성능 테스트의 벤치마크로 사용하려면 다음 단계를 수행합니다.
성능 메트릭을 식별합니다. 측정하고 추적하려는 특정 성능 메트릭을 결정합니다. 예를 들면 다음과 같습니다.
- 응답 시간 또는 워크로드가 요청에 응답하는 빈도입니다.
- 처리량 또는 시간 단위당 처리되는 요청 수입니다.
- CPU, 메모리 및 디스크 사용량과 같은 리소스 사용률입니다.
의미 있는 측정값을 기록합니다. 테스트 중에 얻은 성능 메트릭을 기준 측정값으로 기록합니다. 이러한 측정값은 향후 성능 테스트를 비교하는 시작점을 나타냅니다.
향후 테스트를 비교합니다. 후속 성능 테스트에서 성능 메트릭을 설정된 기준 및 임계값과 비교합니다. 비교를 통해 성능 향상 또는 저하를 식별할 수 있습니다.
지속적으로 테스트
지속적인 테스트에는 테스트의 지속적인 모니터링 및 구체화가 포함됩니다. 지속적인 테스트를 통해 일관되고 허용 가능한 수준의 성능을 유지할 수 있습니다. 워크로드는 기준선을 기준으로 일관되고 허용 가능한 성능 수준을 제공해야 합니다. 시간이 지남에 따라 워크로드를 조정하여 허용되는 성능 제한 내에 있는 일관된 성능을 생성해야 합니다. 다음은 몇 가지 주요 사례입니다.
성능 저하 제한을 설정합니다. 시간에 따라 허용되는 성능 저하 수준을 지정하는 숫자 임계값을 정의합니다. 이러한 제한을 설정하면 성능 변동을 모니터링하고 성능이 정의된 임계값 아래로 떨어질 때 경고를 받을 수 있습니다.
품질 보증을 포함합니다. CPU 사용률 및 초당 최대 요청과 같은 성능 요구 사항을 품질 보증 프로세스에 통합합니다. 기능 요구 사항과 동일한 수준의 중요도로 성능 요구 사항을 처리합니다. 이 프로세스는 워크로드가 프로덕션에 배포하기 전에 정의된 성능 요구 사항을 충족하는지 확인하는 데 도움이 됩니다.
경고를 자동화합니다. 라이브 환경에서는 신속한 검색과 대응이 중요합니다. 성능 기준을 참조로 사용하는 자동화된 경고 시스템을 설정합니다. 성능에 상당한 편차가 있는 경우 필요한 팀은 즉시 조치를 취하지 않도록 경고합니다.
변경 내용을 테스트합니다. 일부 성능 문제는 라이브 설정에서만 나타날 수 있습니다. 제안된 코드 및 인프라 변경에 대한 철저한 테스트 사례를 적용합니다. 코드 계측을 사용하여 핫 경로, 메모리 할당 및 가비지 수집과 같은 애플리케이션의 성능 특성에 대한 인사이트를 얻습니다. 이 테스트를 통해 도입된 변경 내용이 허용 가능한 한도를 초과하여 성능을 저하하지 않도록 합니다.
Azure 촉진
테스트 수행: Azure Pipelines 를 사용하면 성능 테스트를 CI/CD 파이프라인에 통합할 수 있습니다. 부하 테스트를 파이프라인의 단계로 통합하여 애플리케이션의 성능과 확장성의 유효성을 검사할 수 있습니다.
Azure Chaos Studio 는 제어된 오류 주입 실험을 실행할 수 있도록 실제 오류를 애플리케이션에 삽입하는 방법을 제공합니다. 실험은 클라우드 애플리케이션 및 서비스 복원력을 측정, 이해 및 개선하는 데 도움이 됩니다.
Azure Load Testing 은 모든 애플리케이션에서 대규모 부하를 생성하는 부하 테스트 서비스입니다. 부하 테스트는 부하 테스트를 자동화하고 CI/CD(지속적인 통합 및 지속적인 업데이트) 워크플로에 통합하는 기능을 제공합니다. 평균 응답 시간 또는 오류 임계값과 같은 테스트 조건을 정의하고 특정 오류 조건에 따라 부하 테스트를 자동으로 중지할 수 있습니다. 부하 테스트는 부하 테스트 중에 Azure 애플리케이션 구성 요소의 라이브 업데이트 및 자세한 리소스 메트릭을 제공하는 dashboard 제공합니다. 테스트 결과를 분석하고, 성능 병목 상태를 식별하고, 여러 테스트 실행을 비교하여 시간에 따른 성능 회귀를 이해할 수 있습니다.
결과 분석: Azure Monitor 는 클라우드 및 온-프레미스 환경에서 원격 분석을 수집, 분석 및 응답하기 위한 포괄적인 모니터링 솔루션입니다. Application Insights 는 APM 기능을 제공하는 모니터의 확장입니다. Application Insights를 사용하여 개발 및 테스트 중 및 프로덕션 환경에서도 애플리케이션을 모니터링할 수 있습니다.
절충: 테스트는 수행하는 데 시간과 기술이 필요하며 운영 효율성에 영향을 줄 수 있습니다.
관련 링크
성능 효율성 검사 목록
전체 권장 사항 집합을 참조하세요.