Azure Load Testing 살펴보기
Azure Load Testing은 개발자와 테스터가 대규모 부하를 생성하여 애플리케이션의 성능 병목 상태를 식별하고 회귀 테스트를 자동화할 수 있도록 하는 Microsoft Azure에서 제공하는 서비스입니다. Azure Load Testing은 실제 부하를 시뮬레이션하여 애플리케이션의 성능, 확장성 및 용량을 최적화하도록 설계되었습니다.
Azure Load Testing 구성 요소
Azure 부하 테스트는 다음 구성 요소로 구성됩니다.
- 부하 테스트 리소스
- 테스트
- 테스트 실행
- 테스트 엔진
- 앱 구성 요소
부하 테스트 리소스
Azure 부하 테스트 리소스는 부하 테스트 작업의 최상위 리소스입니다. 이 리소스는 부하 테스트, 테스트 결과 및 관련 아티팩트를 보고 관리할 수 있는 중앙 집중식 위치를 제공합니다.
부하 테스트 리소스를 만들 때 테스트 엔진의 위치를 결정하는 위치를 지정합니다.
애플리케이션에 대한 부하 테스트를 실행하려면 부하 테스트 리소스에 테스트를 추가합니다.
테스트
테스트는 부하 테스트를 실행하기 위한 부하 테스트 구성 설정을 설명합니다. 기존 Azure 부하 테스트 리소스에 테스트를 추가합니다.
테스트에는 부하 테스트를 실행하기 위한 다음 구성 설정이 포함되어 있습니다.
테스트 계획: 애플리케이션 엔드포인트를 호출하는 단계입니다. 다음 두 가지 방법으로 테스트 계획을 정의할 수 있습니다.
- JMeter 테스트 스크립트를 업로드합니다.
- 테스트할 URL 엔드포인트 목록을 지정합니다.
부하 테스트 매개 변수: 환경 변수, 비밀 및 인증서.
부하 구성: 부하 테스트 구성에서 테스트 엔진 수를 지정합니다. 테스트 스크립트에서 가상 사용자 수를 지정합니다.
테스트 조건: 테스트의 성능 기대치를 지정하는 실패 조건을 정의하고 테스트에 대한 자동 중지 설정을 구성합니다.
모니터링 설정: 모니터링할 Azure 앱 구성 요소 및 리소스 메트릭 목록을 구성합니다.
테스트를 시작하면 Azure Load Testing은 JMeter 테스트 스크립트, 관련 파일 및 구성을 테스트 엔진 인스턴스에 배포합니다. 그런 다음, 테스트 엔진 인스턴스는 JMeter 테스트 스크립트를 시작하여 애플리케이션 부하를 시뮬레이션합니다.
테스트를 시작할 때마다 Azure Load Testing은 테스트 실행을 생성하고 이를 테스트에 연결합니다.
테스트 실행
테스트 실행은 부하 테스트의 한 실행을 나타냅니다. 테스트를 실행할 때 테스트 실행에는 연결된 테스트의 구성 설정 복사본이 포함됩니다.
테스트 실행이 완료되면 Azure Load Testing 대시보드에서 부하 테스트 결과를 보고 분석할 수 있습니다. 테스트 로그를 다운로드하고 테스트 결과 파일을 내보낼 수도 있습니다.
중요하다
테스트를 업데이트할 때 기존 테스트 실행은 테스트에서 새 설정을 자동으로 상속하지 않습니다. 새 설정은 테스트를 실행할 때 새 테스트 실행에서만 사용됩니다. 기존 테스트 실행을 다시 실행하는 경우 테스트 실행의 원래 설정이 사용됩니다.
테스트 엔진
테스트 엔진은 Apache JMeter 테스트 스크립트를 실행하는 Microsoft에서 관리하는 컴퓨팅 인프라입니다. 테스트 엔진 인스턴스는 JMeter 스크립트를 병렬로 실행합니다. 테스트 엔진 인스턴스 수를 구성하여 부하 테스트를 스케일 아웃할 수 있습니다. Azure Load Testing은 여러 병렬 테스트 엔진 인스턴스에서 부하 테스트를 실행하여 애플리케이션에 대한 트래픽을 시뮬레이션하는 가상 사용자 수를 확장할 수 있습니다. 부하 패턴은 부하 테스트 기간 동안 부하가 분산되는 방법을 결정합니다.
부하 패턴의 예:
- 선형
- 단계별
- 급증
앱 구성 요소
Azure 호스팅 애플리케이션에 대한 부하 테스트를 실행하는 경우 다양한 Azure 애플리케이션 구성 요소(서버 쪽 메트릭)에 대한 리소스 메트릭을 모니터링할 수 있습니다. 부하 테스트가 실행되는 동안 및 테스트가 완료된 후 Azure Load Testing 대시보드에서 리소스 메트릭을 모니터링하고 분석할 수 있습니다.
부하 테스트를 만들거나 업데이트할 때 Azure Load Testing이 모니터링하는 앱 구성 요소 목록을 구성할 수 있습니다. 각 앱 구성 요소에 대한 기본 리소스 메트릭 목록을 수정할 수 있습니다.
Azure Load Testing에서 지원하는 Azure 리소스 종류에 대해 자세히 알아봅니다.