다음을 통해 공유


성능 테스트에 대한 권장 사항

Power Platform Well-Architected 성능 효율성 체크리스트 권장 사항에 적용됩니다.

PE:05 성능 테스트 프로덕션 환경과 일치하는 환경에서 정기적인 테스트를 수행합니다. 성능 목표 및 성능 벤치마크와 결과를 비교합니다.

이 가이드는 테스트 권장 사항을 설명합니다. 성능 테스트는 다양한 시나리오에서 워크로드의 기능을 평가하는 데 도움이 됩니다. 여기에는 워크로드의 응답 시간, 처리량, 리소스 활용도 및 안정성을 테스트하여 워크로드가 성능 요구 사항을 충족하는지 확인하는 작업이 포함됩니다.

테스트는 성능 문제를 예방하는 데 도움이 됩니다. 또한 워크로드가 서비스 수준 계약을 충족하는지 확인하는 데도 도움이 됩니다. 성능 테스트가 없으면 워크로드에서 종종 예방 가능한 성능 저하가 발생할 수 있습니다. 워크로드 성능은 성능 목표와 설정된 기준에서 벗어날 수 있습니다.

정의

용어 정의
카오스 테스팅 의도적으로 무작위적이고 예측할 수 없는 오류나 중단을 도입하여 시스템의 복원력과 안정성을 테스트하는 것을 목표로 하는 성능 테스트입니다.
부하 테스트 일반 부하 및 과부하 상태에서 시스템 성능을 측정하는 성능 테스트입니다.
성능 기준 테스트를 통해 검증된 정상적인 조건에서 워크로드의 동작을 나타내는 메트릭 집합입니다.
스트레스 테스트 시스템이 중단될 때까지 시스템에 과부하를 주는 성능 테스트입니다.
합성 테스트 애플리케이션에서 사용자 요청을 시뮬레이션하는 성능 테스트입니다.

주요 디자인 전략

성능 테스트는 워크로드에 대해 측정 가능한 데이터를 수집하는 데 도움이 됩니다. 테스트를 조기에 실행하면 올바른 사양에 맞게 워크로드를 구축하는 데 도움이 됩니다. 따라서 개발 수명 주기에서 가능한 한 빨리 성능 테스트를 수행하십시오. 조기 테스트를 통해 프로덕션에 들어가기 전에 성능 문제를 파악하고 수정할 수 있습니다. 프로덕션 코드가 준비되지 않은 경우 개념 증명(POC)을 사용할 수 있습니다.

이전 시스템에서 데이터를 마이그레이션하고 특정 기간 내에 마이그레이션을 완료해야 하는 경우 성능 테스트에는 데이터 마이그레이션 성능 측정이 포함되어야 합니다.

테스트 준비

성능 테스트 준비는 성능 테스트를 효과적으로 수행하는 데 필요한 리소스, 구성 및 테스트 시나리오를 설정하고 배열하는 것을 의미합니다. 좋은 성능 테스트는 사용자가 실제 생활에서 솔루션을 어떻게 사용하는지 시뮬레이션해야 합니다. 또한 솔루션이 성능 목표를 충족하는지 검증하는 데도 도움이 됩니다.

수락 기준 정의

승인 기준은 워크로드가 허용 가능하거나 성공적인 것으로 간주되기 위해 충족해야 하는 성능 요구 사항을 지정합니다. 성능 목표에 부합하는 기준을 정의합니다.

성능 목표를 검토합니다. 성능 목표는 워크로드에 대해 원하는 성능 수준을 정의합니다. 워크로드에 대해 설정된 성능 목표를 검토합니다. 성능 메트릭은 응답 시간, 처리량, 리소스 활용도 또는 기타 관련 성능 지표를 포함할 수 있는 메트릭입니다. 예를 들어 응답 시간이 특정 임계값(예: 2초 미만) 미만이 되도록 목표를 설정할 수 있습니다.

승인 기준을 정의합니다. 성능 목표를 워크로드 성능을 평가하는 데 사용할 수 있는 특정 승인 기준으로 변환합니다. 예를 들어, 응답 시간에 대한 성능 목표가 2초 이하라고 가정합니다. 승인 기준은 워크로드의 평균 응답 시간이 2초 미만이어야 함일 수 있습니다. 이러한 승인 기준을 사용하여 워크로드가 원하는 성능 수준을 충족하는지 여부를 확인하세요.

승인 기준을 정의할 때 사용자와 사용자의 기대치에 초점을 맞추는 것이 중요합니다. 승인 기준은 전달된 작업이 사용자 요구와 요구 사항을 충족하는지 확인하는 데 도움이 됩니다. 사용자 관점을 승인 기준에 통합하려면 다음 고려 사항을 염두에 두십시오.

  • 사용자 사용자의 가상 사용자: 동시에 솔루션을 사용할 사용자 수와 유형을 이해합니다. 다양한 역할, 위치, 보안 구성, 데이터 세트 및 활동을 나타내는 사용자의 가상 사용자를 정의합니다.

  • 사용자 요구 사항: 워크로드에 대한 사용자 요구 사항과 목표를 이해합니다. 이러한 요구 사항을 충족하려면 워크로드가 어떻게 수행되어야 하는지 고려하세요. 사용자가 일상적으로 수행하는 작업을 반영하는 일상 시나리오를 정의합니다. 최대 부하 및 정상 부하 시나리오를 포함합니다.

  • 사용자 환경: 원하는 사용자 환경을 캡처하는 승인 기준을 정의합니다. 응답 시간, 유용성, 접근성 및 전반적인 만족도와 같은 요소를 포함합니다.

  • 기능 요구 사항: 사용자가 워크로드에서 기대하는 특정 기능을 해결합니다. 이러한 기능 요구 사항에 대한 승인 기준을 정의하여 해당 요구 사항이 충족되는지 확인하세요. 각 시나리오에 대해 현실적인 데이터 볼륨을 사용하십시오. 사용자에게 필요한 것보다 더 많거나 적은 데이터를 사용하지 마십시오.

  • 인프라 요구 사항: 각 시나리오에 대한 현실적인 인프라 요구 사항을 정의합니다. 예를 들어 사용자가 연결 상태가 좋지 않은 모바일 장치에서 솔루션에 액세스하는 경우 해당 조건에서 솔루션을 테스트하십시오.

  • 사용 사례: 사용자가 접할 수 있는 다양한 시나리오 또는 사용 사례를 고려합니다. 이러한 사용 사례를 기반으로 승인 기준을 정의하여 실제 상황에서 워크로드 성능을 검증하세요.

승인 기준을 설정합니다. 워크로드가 성능 목표를 충족하는지 여부를 나타내는 승인 기준 내의 임계값을 결정합니다. 이러한 임계값은 각 메트릭에 대해 허용 가능한 성능 범위를 정의합니다. 예를 들어, 응답 시간에 대한 승인 기준이 2초 미만이라고 가정합니다. 임계값을 2.5초로 설정할 수 있습니다. 이 수준은 2.5초가 넘는 응답 시간이 성능 문제로 간주됨을 나타냅니다.

통과 기준을 정의합니다. 워크로드가 성능 테스트를 통과했는지 여부를 결정하기 위한 기준을 설정합니다. 통과는 모든 승인 기준을 충족하거나 특정 비율을 달성하는 것으로 정의할 수 있습니다.

팀 유형을 선택합니다.

올바른 유형의 성능 테스트를 선택하려면 테스트를 승인 기준에 맞게 조정하는 것이 중요합니다. 승인 기준은 요구 사항 또는 버그 수정이 완료로 간주되기 위해 충족해야 하는 조건을 정의합니다. 성능 테스트는 워크로드가 이러한 승인 기준을 충족하고 지정된 조건에서 예상대로 작동하는지 확인하는 것을 목표로 해야 합니다. 성능 테스트 유형을 승인 기준에 맞추면 테스트가 기준에 정의된 성능 기대치를 충족하는 데 중점을 두는 데 도움이 됩니다.

  • 승인 기준 이해. 요구 사항 또는 버그 수정에 대한 승인 기준을 검토합니다. 기준에는 충족해야 할 특정 조건과 기능이 설명되어 있습니다.

  • 관련 성능 메트릭 식별. 승인 기준에 따라 원하는 결과를 달성하는 데 중요한 성능 메트릭을 결정합니다. 예를 들어 승인 기준이 응답 시간에 초점을 맞춘 경우 부하 테스트 우선 순위를 지정하는 것이 적절할 수 있습니다.

  • 적절한 테스트 유형 선택. 사용 가능한 테스트 유형을 평가하고 식별된 성능 메트릭 및 승인 기준에 가장 적합한 유형을 선택하십시오.

다음 표에는 테스트 유형 샘플과 해당 사용 사례가 나와 있습니다.

검사 유형 Description 사용 사례
부하 테스트 실제 사용자 부하를 시뮬레이션하여 예상되는 최대 워크로드에서 워크로드가 어떻게 수행되는지 측정합니다. 부하 허용 오차를 결정합니다.
스트레스 테스트 워크로드를 일반적인 한도 이상으로 늘려 한계점을 식별하고 복구 능력을 측정합니다. 복원력과 견고성을 결정합니다.
담금 테스트(내구성 테스트) 성능 저하, 메모리 누수 또는 리소스 문제를 식별하려면 장기간 동안 지속적으로 높은 부하에서 워크로드를 실행하십시오. 시간 경과에 따른 안정성과 신뢰성을 평가합니다.
스파이크 테스트 사용자 부하의 급격한 증가를 시뮬레이션하여 워크로드가 수요의 급격한 변화를 처리하는 방법을 평가합니다. 피크 기간 동안 성능을 확장하고 유지하는 능력을 측정합니다.
호환성 테스트 다양한 플랫폼, 브라우저 또는 장치에서 워크로드 성능을 테스트하십시오. 다양한 환경에서 일관된 성능을 보장하는 데 도움이 됩니다.

워크로드의 특성과 요구 사항에 따라 선택한 테스트 유형의 우선 순위를 지정하세요. 성능 메트릭의 중요성, 사용자 기대치, 비즈니스 우선 순위, 알려진 문제 또는 취약성과 같은 요소를 고려하십시오.

테스트 도구 선택

실행하려는 성능 테스트 유형에 따라 적절한 도구를 선택하십시오. 테스트 환경의 인프라, 리소스 및 제약 조건을 평가합니다. 원하는 테스트 유형을 지원하고 모니터링, 측정, 분석 및 보고에 필요한 기능을 제공하는 테스트 도구를 선택하십시오.

APM(애플리케이션 성능 모니터링) 도구는 애플리케이션에 대한 심층적인 인사이트를 제공하며 필수적인 테스트 도구입니다. 이는 개별 트랜잭션을 추적하고 다양한 워크로드 서비스를 통해 해당 경로를 매핑하는 데 도움이 됩니다. 테스트 후에는 APM 도구를 사용하여 테스트 데이터를 성능 기준과 비교하고 분석해야 합니다.

프로파일링 도구를 사용하여 코드의 성능 병목 현상을 식별하세요. 프로파일링은 가장 많은 리소스를 소비하고 최적화가 필요한 코드 영역을 식별하는 데 도움이 됩니다. 이는 코드의 다양한 부분의 실행 시간과 메모리 사용량에 대한 인사이트를 제공합니다.

다음 단계는 적절한 테스트 도구를 선택하는 데 도움이 될 수 있습니다.

  • 테스트 요구 사항 식별. 먼저 성능 테스트의 특정 요구 사항을 이해하십시오. 다음과 같은 다양한 요소를 고려합니다.

    • 워크로드 유형
    • 응답 시간 및 처리량 등 측정할 성능 메트릭
    • 워크로드 아키텍처의 복잡성
    • 클라우드 기반, 온-프레미스 또는 하이브리드와 같은 테스트 환경
  • 연구 테스트 도구. 요구 사항에 맞는 성능 테스트 도구를 식별하기 위한 연구를 수행합니다. 시중에서 구할 수 있는 상용 및 오픈 소스 도구를 고려해보세요. 부하 테스트, 스트레스 테스트 등 원하는 유형의 성능 테스트를 지원하고 성능 메트릭 측정 기능을 제공하는 도구를 찾으세요.

  • 도구 기능 평가. 각 테스트 도구가 제공하는 기능을 평가합니다. 현실적인 사용자 행동 시뮬레이션과 대규모 사용자 부하를 처리할 수 있는 확장성과 같은 기능을 찾아보세요. 다양한 프로토콜 및 기술에 대한 지원, 다른 테스트 도구 또는 프레임워크와의 통합, 보고 및 분석 기능을 고려하십시오.

  • 호환성 및 통합 고려. 기존 인프라 및 기술과 테스트 도구의 호환성을 결정합니다. 도구가 테스트 환경에 쉽게 통합될 수 있고 모니터링 및 분석에 필요한 워크로드와 통신할 수 있는지 확인하세요.

  • 비용 및 라이선스 평가. 테스트 도구와 관련된 비용 구조 및 라이선스 조건을 평가합니다. 초기 투자, 유지 관리 비용, 지원 비용 등의 요소를 고려하세요. 또한 사용자 또는 가상 사용자 수에 따라 달라지는 기타 라이선스 요구 사항도 고려하세요.

  • POC 수행. 평가에 따라 가장 적합하다고 생각되는 몇 가지 도구를 선택하십시오. 특정 테스트 시나리오에서 도구의 유용성, 기능 및 효율성을 검증하기 위해 소규모 POC를 수행합니다.

  • 지원 및 교육 고려. 도구 공급업체나 커뮤니티가 제공하는 지원 및 교육 수준을 평가합니다. 테스트 프로세스 중에 발생할 수 있는 모든 과제나 문제를 지원하기 위한 문서, 자습서 및 기술 지원 채널의 가용성을 결정합니다.

테스트 시나리오 만들기

테스트 시나리오를 작성한다는 것은 워크로드의 성능을 테스트하는 데 적합한 특정 상황이나 조건을 설계하는 프로세스를 의미합니다. 실제 사용자 행동과 작업 부하 패턴을 에뮬레이트하기 위해 테스트 시나리오가 생성됩니다. 이러한 시나리오는 성능 테스터가 다양한 조건에서 워크로드의 성능을 평가할 수 있는 방법을 제공합니다.

테스트 시나리오를 사용하면 동시 사용자 액세스, 최대 부하 기간 또는 특정 트랜잭션 시퀀스와 같은 다양한 작업 부하 패턴을 복제할 수 있습니다. 다양한 워크로드 패턴으로 워크로드를 테스트하면 성능 병목 현상을 식별하고 리소스 할당을 최적화할 수 있습니다.

  • 사용자 행동 정의. 사용자가 워크로드와 상호 작용할 때 수행하는 단계와 작업을 식별하여 현실적인 사용자 행동과 워크로드 패턴을 에뮬레이트합니다. 로그인, 검색 수행, 양식 제출 또는 특정 기능 액세스와 같은 활동을 고려하십시오. 각 시나리오를 사용자와 워크로드의 상호 작용을 나타내는 특정 단계 및 작업으로 분류합니다. 페이지 탐색, 트랜잭션 수행 또는 워크로드의 다양한 요소와의 상호 작용을 포함할 수 있습니다.

  • 데이터 관련 여부 확인. 테스트 시나리오를 실행하는 데 필요한 테스트 데이터를 식별합니다. 다양한 시나리오, 사용자 프로필 또는 데이터 볼륨을 나타내는 현실적인 데이터 세트를 생성하거나 생성하는 작업이 포함될 수 있습니다. 포괄적인 성능 평가를 제공하려면 테스트 데이터가 다양하고 다양한 사용 사례를 포괄하는지 확인하세요.

  • 테스트 스크립트 디자인. 정의된 테스트 시나리오의 실행을 자동화하는 테스트 스크립트를 만듭니다. 테스트 스크립트는 일반적으로 일련의 작업, HTTP 요청 또는 워크로드 API 또는 사용자 인터페이스와의 상호 작용으로 구성됩니다. 매개 변수화, 상관 관계, 동적 데이터 처리 등의 요소를 고려하여 성능 테스트 도구나 프로그래밍 언어를 사용하여 스크립트를 작성합니다. 정확성과 기능에 대해 테스트 스크립트의 유효성을 검사합니다. 스크립트 오류, 누락되거나 잘못된 작업, 데이터 관련 문제 등 모든 문제를 디버깅합니다. 테스트 스크립트 유효성 검사는 정확하고 안정적인 성능 테스트 실행을 보장하는 데 중요합니다.

  • 테스트 변수 및 매개 변수 구성. 테스트 스크립트 내에서 변수와 매개 변수를 구성하여 가변성을 도입하고 실제 시나리오를 시뮬레이션합니다. 다양한 사용자 행동 및 워크로드 응답을 모방하기 위해 사용자 자격 증명, 입력 데이터 또는 무작위화와 같은 매개 변수를 포함합니다.

  • 반복적으로스크립트 수정. 피드백, 테스트 결과 또는 변화하는 요구 사항을 기반으로 테스트 스크립트를 지속적으로 개선하고 향상합니다. 스크립트 논리, 매개 변수화, 오류 처리를 최적화하거나 추가 유효성 검사 및 체크포인트를 추가하는 것을 고려하세요.

테스트 환경 구성

테스트 환경 구성은 프로덕션 환경과 매우 유사한 환경을 생성하는 데 필요한 인프라, 소프트웨어 및 네트워크 구성을 설정하는 프로세스를 나타냅니다.

성능 효율성을 높이는 방식으로 테스트 환경을 설정하려면 구성 프로세스에 다음 단계를 포함하세요.

  • 사용자의 프로덕션 환경 미러링. 프로덕션 환경과 매우 유사하게 테스트 환경을 설정하십시오. 환경 설정 및 지역, 네트워크 설정, 보안 설정, 데이터 원본 및 통합과 같은 요소를 고려하십시오. 목표는 성능 테스트 결과가 실제 조건을 대표하는지 확인하는 것입니다.

  • 충분한 리소스 프로비저닝. 테스트 환경에 저장 용량 등 적절한 리소스를 할당합니다. 사용 가능한 리소스가 예상 워크로드를 처리하고 정확한 성능 측정치를 제공할 수 있는지 확인하십시오.

  • 네트워크 상태 복제. 실제 워크로드 배포 중에 예상되는 네트워크 조건을 복제하려면 테스트 환경에서 네트워크 설정을 구성합니다. 대역폭, 대기 시간 및 네트워크 프로토콜을 포함해야 합니다.

  • 종속성 설치 및 구성. AppSource에서 모든 앱과 워크로드를 올바르게 실행하는 데 필요한 기타 종속성을 설치합니다. 여기에는 예상되는 프로덕션 구성으로 타사 서비스를 구성하는 것이 포함됩니다.

트레이드오프: 별도의 테스트 환경 유지 관리, 데이터 저장, 도구 사용 및 테스트 실행과 관련된 비용이 있습니다. 성능 테스트 비용을 파악하고 지출을 최적화하는 방법을 찾으십시오.

위험: 프로덕션 데이터에는 중요한 정보가 포함될 수 있습니다. 강력한 스크러빙 및 마스킹 전략이 없으면 프로덕션 데이터를 테스트에 사용할 때 중요한 데이터가 유출될 위험이 있습니다.

테스트 수행

선택한 테스트 도구를 사용하여 성능 테스트를 실행합니다. 테스트에는 성능 메트릭 측정 및 기록, 상태 모니터링, 발생하는 성능 문제 캡처가 포함됩니다.

응답 시간, 처리량 및 기타 관련 지표와 같은 성능 메트릭을 모니터링하고 수집합니다.

정의된 테스트 시나리오를 사용하여 예상 부하에 워크로드를 적용합니다. 이러한 다양한 부하 조건에서 테스트를 수행합니다. 예를 들어 정상, 피크, 스트레스 수준과 같은 수준을 사용하여 다양한 시나리오에서 워크로드 동작을 분석합니다.

성능 테스트를 계획하고 실행할 때 대부분의 경우 Microsoft Cloud는 공유 인프라를 사용하여 자산과 다른 고객에게 속한 자산을 호스팅한다는 점을 기억해야 합니다. 의도하지 않은 결과를 피하기 위해 테스트를 제한합니다.

결과 문서화

성능 테스트 결과를 명확하고 일관되게 문서화합니다. 문서에 다음이 표시되어야 합니다.

  • 사용자의 솔루션이 각 시나리오의 성능 목표를 충족하는지 여부
  • 각 테스트를 실행한 시기와 방법
  • 테스트한 솔루션 버전
  • 테스트 중에 발생한 오류나 문제
  • 테스트 후 변경 사항이나 최적화

결과 분석

테스트 결과 분석에는 성능 테스트에서 수집된 데이터와 메트릭을 검사하여 워크로드 성능에 대한 인사이트를 얻는 작업이 포함됩니다. 목표는 성능 문제를 식별하고 애플리케이션 개발 시 조정 우선 순위에 대한 피드백을 사용하는 것입니다.

다음 작업은 테스트 결과를 분석하기 위한 주요 단계입니다.

성능 메트릭을 검토합니다. 응답 시간, 처리량, 오류율, 네트워크 대기 시간 등 성능 테스트 중에 수집하는 성능 메트릭을 살펴보세요. 워크로드의 전반적인 성능을 이해하려면 이러한 메트릭을 분석하세요.

  • 병목 현상 식별. 성능 메트릭을 평가하여 병목 현상이나 성능이 비효율적인 영역을 식별합니다. 평가에는 높은 응답 시간, 리소스 제약 조건, 데이터베이스 문제, 네트워크 대기 시간 및 확장성 제한이 포함될 수 있습니다. 이러한 병목 현상의 근본 원인을 정확히 찾아내면 성능 개선의 우선 순위를 정하는 데 도움이 됩니다.

  • 메트릭 연관. 관계와 다양한 성능 메트릭 간의 상관 관계를 평가합니다. 예를 들어 증가된 로드 또는 리소스 활용도가 응답 시간에 어떤 영향을 미치는지 분석합니다. 이러한 상관 관계를 이해하면 다양한 조건에서 워크로드 동작에 대한 귀중한 인사이트를 얻을 수 있습니다. 시간 경과에 따른 성능 데이터의 패턴과 추세를 찾아보세요. 다양한 로드 수준이나 특정 기간 동안의 성능을 분석합니다. 추세를 감지하면 계절적 변화, 최대 사용 시간 또는 반복되는 성능 문제를 식별하는 데 도움이 될 수 있습니다.

승인 기준을 평가합니다. 사전 정의된 승인 기준 및 성능 목표와 재테스트 결과를 비교합니다. 워크로드가 원하는 성능 표준을 충족하는지 평가합니다. 워크로드가 승인 기준을 충족하지 않는 경우 최적화를 추가로 조사하고 구체화합니다.

분석을 반복하고 개선합니다. 필요에 따라 기타 조정 및 개선을 수행합니다. 수집된 데이터와 메트릭을 사용하여 특정 성능 문제를 진단합니다. 진단에는 워크로드 구성 요소 추적, 로그 파일 검사, 리소스 사용량 모니터링 또는 오류 메시지 분석이 포함될 수 있습니다. 성능 문제의 근본 원인을 이해하려면 데이터를 더 깊이 파고들어보세요.

테스트 결과 분석을 기반으로 식별된 성능 문제의 우선 순위를 지정하고 필요한 개선 사항을 구현합니다. 개선 사항에는 논리 최적화, 쿼리 조정, 캐싱 메커니즘 개선 및 네트워크 구성 최적화가 포함될 수 있습니다.

기준선 설정

기준선은 시간 경과에 따른 성능 결과를 비교하기 위한 참조점을 제공합니다. 기준은 워크로드 성능에 대한 의미 있는 스냅샷이어야 하며, 모든 테스트를 기준선으로 사용할 필요는 없습니다.

워크로드 목표를 고려하고 시간이 지남에 따라 학습하고 최적화할 수 있는 성능 스냅샷을 문서화합니다. 이러한 기본 측정값을 향후 성능 테스트를 위한 벤치마크로 사용하고 이를 사용하여 성능 저하 또는 개선 사항을 식별합니다.

성능 테스트를 위한 기준선을 설정하고 이를 향후 성능 테스트를 위한 벤치마크로 사용하려면 따라와 다음 단계를 따르세요.

  • 성능 메트릭 식별. 측정하고 추적하려는 특정 성능 메트릭을 결정합니다. 예는 다음과 같습니다:

    • 응답 시간 또는 워크로드가 요청에 응답하는 속도.
    • 처리량 또는 단위 시간당 처리되는 요청 수.
    • 스토리지 용량 사용량과 같은 리소스 활용도.
  • 의미 있는 측정값 기록. 테스트 중에 얻은 성능 메트릭을 기준 측정값으로 기록합니다. 이러한 측정값은 향후 성능 테스트를 비교하는 시작점을 나타냅니다.

  • 향후 테스트 비교. 후속 성능 테스트에서는 성능 메트릭을 설정된 기준선 및 임계값과 비교합니다. 비교를 통해 성능 향상 또는 저하를 파악할 수 있습니다.

지속적으로 테스트

지속적인 테스트에는 테스트를 지속적으로 모니터링하고 개선하는 작업이 포함됩니다. 지속적인 테스트를 통해 일관되고 수용 가능한 수준의 성능을 유지할 수 있습니다. 워크로드는 기준에 비해 일관되고 허용 가능한 수준의 성능을 제공해야 합니다. 허용 가능한 성능 한계 내에서 일관된 성능을 생성하려면 시간이 지남에 따라 워크로드를 조정해야 합니다.

다음은 몇 가지 주요 사례입니다.

  • 성능 저하 한계 설정. 시간이 지남에 따라 허용되는 성능 저하 수준을 지정하는 숫자 임계값을 정의합니다. 이러한 제한을 설정하면 성능 변동을 모니터링하고 성능이 정의된 임계값 아래로 떨어질 때 경고를 받을 수 있습니다.

  • 품질 보증 포함. 초당 최대 요청 수와 같은 성능 요구 사항을 품질 보증 프로세스에 통합합니다. 성능 요구 사항을 기능 요구 사항과 동일한 수준으로 처리합니다. 이 프로세스는 워크로드를 프로덕션에 배포하기 전에 워크로드가 정의된 성능 요구 사항을 충족하는지 확인하는 데 도움이 됩니다.

  • 알림 자동화. 라이브 환경에서는 신속한 탐지와 응답이 중요합니다. 성능 기준을 참조로 사용하는 자동화된 경고 시스템을 설정합니다. 성능에 상당한 차이가 있는 경우 필요한 팀에 즉시 알림을 보내 조치를 취하도록 합니다.

  • 변경 사항 테스트. 일부 성능 문제는 라이브 설정에서만 나타날 수 있습니다. 제안된 변경 사항에 대해 철저한 테스트 방법을 적용합니다. 코드 계측을 사용하여 핫 경로와 같은 애플리케이션의 성능 특성에 대한 인사이트를 얻으세요. 이 테스트를 통해 도입된 변경 사항으로 인해 허용 가능한 한도를 넘어 성능이 저하되지 않는지 확인합니다.

Power Platform 간편 사용

테스트 수행: Azure Pipelines를 사용하면 성능 테스트를 CI/CD(연속 통합/지속적 업데이트) 파이프라인에 통합할 수 있습니다. 파이프라인에 부하 테스트를 단계로 통합하여 애플리케이션의 성능과 확장성을 검증할 수 있습니다.

Power Apps 테스트 엔진은 Power Apps에서 독립 실행형 캔버스 앱을 테스트하는 데 사용할 수 있는 Power Platform CLI 내의 구성 요소입니다.

Azure Test Plans는 계획된 수동 테스트, 사용자 수용 테스트, 탐색적 테스트 및 이해관계자의 피드백 수집에 필요한 모든 기능을 제공하는 사용하기 쉬운 브라우저 기반 테스트 관리 솔루션입니다.

워크로드에 Azure 리소스가 포함된 경우 Azure Chaos StudioAzure Load Testing을 사용하여 테스트를 수행할 수 있습니다.

개발 중에 개발자는 Power Apps Monitor를 사용하여 문제를 더 빠르게 진단 및 해결하고 보다 안정적인 앱을 구축할 수도 있습니다. 앱이 실행될 때 앱에서 발생하는 모든 주요 활동을 로깅하여 앱을 심층적으로 볼 수 있습니다. 또한 Power Apps 모니터는 앱에 포함된 이벤트와 수식이 어떻게 작동하는지 더 잘 이해할 수 있도록 하므로 성능을 향상하고 오류나 문제를 식별할 수 있습니다.

워크로드에 Microsoft Copilot Studio 에이전트가 포함되어 있는 경우 Power CAT Copilot Studio Kit를 사용하여 에이전트와 테스트를 구성할 수 있습니다. Copilot Studio API(Direct Line)에 대해 개별 테스트를 실행하여 에이전트 응답을 예상 결과에 대해 평가합니다.

결과 분석: Azure Monitor는 클라우드 및 온-프레미스 환경에서 원격 측정을 수집, 분석 및 응답하기 위한 포괄적인 모니터링 솔루션입니다. Application Insights는 APM 기능을 제공하는 Azure Monitor의 확장입니다. Application Insights 개발 및 테스트 과정은 물론 생산 과정에서도 애플리케이션을 모니터링할 수 있습니다.

트레이드오프: 테스트를 수행하는 데 시간과 기술이 필요하며 운영 효율성에 영향을 줄 수 있습니다.

성능 효율성 체크리스트

전체 권장 사항 세트를 참조하세요.