Azure Load Testing을 사용하여 부하 테스트에 대한 실패 조건 정의
이 문서에서는 Azure Load Testing을 사용하여 부하 테스트에 대한 실패 조건 또는 자동 중지 조건을 정의하는 방법을 알아봅니다. 실패 조건을 사용하면 로드 중인 애플리케이션에 대한 성능 및 품질 기대치를 정의할 수 있습니다. Azure Load Testing은 오류율 또는 응답 시간과 같은 실패 조건을 정의하기 위한 다양한 클라이언트 메트릭을 지원합니다. 자동 중지 조건을 사용하면 오류 속도가 지정된 임계값을 초과할 때 부하 테스트를 자동으로 중지할 수 있습니다.
사전 요구 사항
- 활성 구독이 있는 Azure 계정. Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.
- Azure Load Testing 리소스입니다. Azure Load Testing 리소스를 만들어야 하는 경우 빠른 시작 부하 테스트 만들기 및 실행을 참조하세요.
부하 테스트 실패 조건
부하 테스트 실패 조건은 테스트가 충족해야 하는 클라이언트 쪽 메트릭의 조건입니다. Azure Load Testing의 부하 테스트 수준에서 테스트 조건을 정의합니다. 부하 테스트에는 하나 이상의 테스트 조건이 있을 수 있습니다. 테스트 조건 중 하나 이상이 true로 평가되면 부하 테스트가 실패 상태가 됩니다.
두 가지 수준에서 테스트 조건을 정의할 수 있습니다. 부하 테스트는 여러 수준에서 조건을 결합할 수 있습니다.
- 부하 테스트 수준에서. 예를 들어, 총 오류 백분율이 임계값을 초과하지 않도록 합니다.
- JMeter 요청 수준(JMeter 샘플러)에서. 예를 들어 getProducts 요청의 응답 시간 임계값을 지정할 수 있지만 로그인 요청의 응답 시간은 무시할 수 있습니다 .
부하 테스트에 대해 최대 10개의 테스트 조건을 정의할 수 있습니다. 동일한 클라이언트 메트릭에 대한 조건이 여러 개인 경우 임계값이 가장 낮은 조건이 사용됩니다.
실패 조건 구조
Azure Load Testing의 실패 조건 형식은 지원되는 메트릭에 대한 조건문 형식을 따릅니다. 예를 들어, 초당 평균 요청 수가 500보다 큰지 확인합니다.
실패 조건의 구조는 다음과 같습니다.
- 부하 테스트 수준의 테스트 조건:
Aggregate_function (client_metric) condition threshold
. - 특정 JMeter 요청에 적용되는 테스트 조건:
Request: Aggregate_function (client_metric) condition threshold
.
다음 표에서는 다양한 구성 요소에 대해 설명합니다.
매개 변수 | 설명 |
---|---|
Client metric |
필수 요소. 조건을 적용해야 하는 클라이언트 메트릭입니다. |
Aggregate function |
필수 요소. 클라이언트 메트릭에 적용할 집계 함수입니다. |
Condition |
필수 요소. greater than 또는 less than 과 같은 비교 연산자입니다. |
Threshold |
필수 요소. 클라이언트 메트릭과 비교할 숫자 값입니다. |
Request |
(선택 사항) 기준이 적용되는 JMeter 스크립트의 샘플러 이름입니다. 요청 이름을 지정하지 않으면 기준이 스크립트의 모든 요청 집계에 적용됩니다. JMeter 스크립트의 샘플러 이름에 개인 데이터를 포함하지 마세요. 샘플러 이름은 dashboard Azure Load Testing 결과에 표시됩니다. |
실패 조건에 대해 지원되는 클라이언트 메트릭
Azure Load Testing은 다음 클라이언트 메트릭을 지원합니다.
메트릭 | 집계 함수 | 임계값 | 조건 | 설명 |
---|---|---|---|---|
response_time_ms |
avg (평균)min (최소)max (최대)pxx (백분위수), xx는 50, 90, 95, 99일 수 있습니다. |
밀리초(ms)를 나타내는 정수 값입니다. | > (보다 큼)< (보다 작음) |
응답 시간 또는 경과 시간(밀리초)입니다. Apache JMeter 설명서에서 경과 시간에 대해 자세히 알아봅니다. |
latency |
avg (평균)min (최소)max (최대)pxx (백분위수), xx는 50, 90, 95, 99일 수 있습니다. |
밀리초(ms)를 나타내는 정수 값입니다. | > (보다 큼)< (보다 작음) |
대기 시간(밀리초) Apache JMeter 설명서에서 대기 시간에 대해 자세히 알아봅니다. |
error |
percentage |
백분율을 나타내는 0~100 범위의 숫자 값입니다. | > (보다 큼) |
실패한 요청의 비율입니다. |
requests_per_sec |
avg (평균) |
소수점 이하 두 자리까지의 숫자 값입니다. | > (보다 큼)< (보다 작음) |
초당 요청 수 |
requests |
count |
정수 값. | > (보다 큼)< (보다 작음) |
총 요청 수입니다. |
부하 테스트 실패 조건 정의
이 섹션에서는 Azure Portal에서 부하 테스트에 대한 테스트 조건을 구성합니다.
Azure Portal에서 Azure Load Testing 리소스로 이동합니다.
왼쪽 창에서 테스트를 선택하여 부하 테스트 목록을 봅니다.
목록에서 부하 테스트를 선택한 다음 편집을 선택합니다.
테스트 조건 창에서 메트릭, 집계 함수, 조건 및 임계값 값을 테스트.
선택적으로 요청 이름 정보를 입력하여 특정 JMeter 요청에 대한 테스트 기준을 추가합니다. 값은 JMX 파일의 JMeter 샘플러 이름과 일치해야 합니다.
적용을 선택하여 변경 내용을 저장합니다.
이제 부하 테스트를 실행하면 Azure Load Testing은 테스트 조건을 사용하여 부하 테스트 실행 상태를 결정합니다.
테스트를 실행하고 부하 테스트 대시보드에서 상태를 확인합니다.
대시보드에는 각 테스트 조건과 해당 상태가 표시됩니다. 하나 이상의 기준이 충족되면 전체 테스트 상태 실패합니다.
자동 중지 구성
Azure Load Testing은 오류 비율이 특정 기간 동안 지정된 임계값을 초과하는 경우 부하 테스트를 자동으로 중지합니다. 예를 들어 자동 중지는 잘못 구성된 엔드포인트 URL로 인해 추가 비용이 발생하는 테스트 실패로부터 사용자를 보호합니다.
부하 테스트 구성에서 자동 중지 기능을 사용하거나 사용하지 않도록 설정하고 오류 백분율 임계값 및 시간 창을 구성할 수 있습니다. 기본적으로 Azure Load Testing은 60초 기간 동안 오류 비율이 90% 이상인 부하 테스트를 자동으로 중지합니다.
JMeter 스크립트의 AutoStop 수신기 와 함께 Azure Load Testing 자동 중지 기능을 사용할 수 있습니다. 자동 중지 구성 또는 JMeter AutoStop 수신기의 조건 중 하나가 충족되면 부하 테스트가 자동으로 중지됩니다.
주의
부하 테스트에 대해 자동 중지를 사용하지 않도록 설정하면 부하 테스트가 잘못 구성된 경우에도 비용이 발생할 수 있습니다.
Azure Portal 부하 테스트에 대한 자동 중지를 구성하려면 다음을 수행합니다.
Azure Portal에서 Azure Load Testing 리소스로 이동합니다.
왼쪽 창에서 테스트를 선택하여 부하 테스트 목록을 봅니다.
목록에서 부하 테스트를 선택한 다음 편집을 선택합니다. 또는JMeter 스크립트 업로드만들기>를 선택하여 새 테스트를 만듭니다.
테스트 조건 탭으로 이동하여 자동 중지 기능을 구성합니다.
자동 중지 테스트 컨트롤을 사용하여 부하 테스트의 자동 중지 를 사용하거나 사용하지 않도록 설정합니다.
자동 중지를 사용하도록 설정하면 오류 백분율 및 시간 창 필드를 채울 수 있습니다. 시간 창을 초 단위로 지정합니다.
적용을 선택하거나 새 부하 테스트를 만드는 경우 검토 + 만들기를 선택하여 변경 내용을 저장합니다.
다음 단계
비밀을 사용하여 부하 테스트를 매개 변수화하는 방법을 알아보려면 부하 테스트 매개 변수화를 참조하세요.
성능 테스트 자동화에 대해 알아보려면 자동 성능 테스트 구성을 참조하세요.