Azure Load Testing에서 테스트 만들기 및 관리

Azure Load Testing 리소스에서 부하 테스트를 만들고 관리하는 방법을 알아봅니다.

필수 조건

  • 활성 구독이 있는 Azure 계정. Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.
  • Azure Load Testing 리소스입니다. 부하 테스트 리소스를 만들려면 부하 테스트 만들기 및 실행을 참조하세요.

테스트 만들기

Azure Portal에서 부하 테스트를 만드는 옵션은 두 가지입니다.

  • 웹 애플리케이션 URL을 사용하여 빠른 테스트를 만듭니다(URL 기반 테스트).
  • JMX(JMeter 테스트 스크립트)를 업로드하여 테스트를 만듭니다.

Screenshot that shows the options to create a new test in the Azure portal.

URL을 사용하여 빠른 테스트 만들기

단일 HTTP 엔드포인트에 대한 부하 테스트를 수행하려면 URL 기반 부하 테스트라고도 하는 Azure Portal의 빠른 테스트 환경을 사용할 수 있습니다. 대상 URL 및 기본 부하 매개 변수를 입력하여 JMeter 스크립팅에 대한 사전 지식 없이 부하 테스트를 만듭니다.

빠른 테스트를 만들 때 Azure Load Testing은 해당 JMeter 스크립트를 생성하고 부하 테스트 구성을 결정하고 부하 테스트를 실행합니다.

대상 부하를 지정하려면 두 가지 옵션 중에서 선택합니다. 각 옵션에 대해 다른 설정을 입력하여 애플리케이션 부하를 정의할 수 있습니다.

부하 형식 설명 부하 설정
가상 사용자 부하 테스트는 가상 사용자의 대상 수를 시뮬레이션합니다. 램프 업 시간 동안 대상에 점진적으로 도달합니다. Azure Load Testing은 다음과 같이 총 테스트 엔진 인스턴스 수를 구성합니다.
#instances = #virtual users / 250

그런 다음 각 테스트 엔진 인스턴스는 가상 사용자를 시뮬레이션(#총 가상 사용자/#테스트 엔진)합니다.

빠른 테스트를 위한 최대 가상 사용자 수는 11,250입니다.
- 가상 사용자 수
- 테스트 기간(초)
- 램프 업 시간(초)
초당 요청 부하 테스트는 예상 엔드포인트 응답 시간이 지정된 대상 RPS(초당 요청 수)를 시뮬레이션합니다.
Azure Load Testing은 RPS 및 응답 시간에 따라 부하 테스트의 총 가상 사용자 수를 결정합니다.
#virtual users = (RPS * response time) / 1000

그런 다음 서비스는 총 가상 사용자 수에 따라 인스턴스당 테스트 엔진 인스턴스 및 가상 사용자 수를 구성합니다.
- 초당 요청
- 응답 시간(밀리초)
- 테스트 기간(초)
- 램프 업 시간(초)

Azure Portal에서 빠른 테스트를 만들려면 다음을 수행합니다.

  1. Azure Portal에서 Azure Load Testing 리소스로 이동합니다.

  2. 개요 페이지에서 빠른 테스트를 선택합니다.

    또는 왼쪽 창에서 테스트를 선택하고 + 만들기를 선택한 다음, 빠른 테스트 만들기를 선택합니다.

  3. 대상 URL을 입력하고 매개 변수를 로드합니다.

    Screenshot that shows the page for creating a quick test in the Azure portal.

  4. 테스트 실행을 선택하여 부하 테스트를 시작합니다.

    Azure Load Testing은 JMeter 테스트 스크립트를 자동으로 생성하고 부하 매개 변수에 따라 여러 테스트 엔진 간에 크기를 조정하도록 테스트를 구성합니다.

빠른 테스트를 실행한 후에도 부하 테스트 구성을 추가로 편집할 수 있습니다. 예를 들어 앱 구성 요소를 추가하여 서버 쪽 메트릭을 모니터링하거나, 대규모 부하를 구성하거나, 생성된 JMeter 스크립트를 편집할 수 있습니다.

JMeter 스크립트를 사용하여 테스트 만들기

기존 JMeter 테스트 스크립트를 다시 사용하거나 고급 테스트 시나리오의 경우 JMX 파일을 업로드하여 테스트를 만듭니다. 예를 들어 CSV 입력 파일에서 데이터를 읽거나JMeter 사용자 속성을 구성합니다. 자세한 내용은 기존 JMeter 스크립트를 사용하여 부하 테스트 만들기를 참조하세요.

JMeter 스크립트를 만드는 데 익숙하지 않은 경우 Apache JMeter 시작을 참조하세요.

  1. Azure Portal에서 Azure Load Testing 리소스로 이동합니다.

  2. 개요 페이지에서 만들기를 선택합니다.

    또는 왼쪽 창에서 테스트를 선택하고 + 만들기를 선택한 다음, JMeter 스크립트 업로드를 선택합니다.

  3. 기본 사항 페이지에서 기본 테스트 정보를 입력합니다.

    만든 후 테스트 실행을 선택하면 테스트가 자동으로 시작됩니다. 테스트를 만든 후 언제든지 수동으로 시작할 수 있습니다.

    Screenshot that shows the page for creating a test with a J Meter script in the Azure portal.

테스트 계획

테스트 계획에는 부하 테스트를 실행하는 데 필요한 모든 파일이 포함됩니다. 테스트 계획에는 최소한 하나의 *.jmx JMeter 스크립트가 포함되어야 합니다. Azure Load Testing은 부하 테스트당 하나의 JMX 파일만 지원합니다.

테스트 스크립트와 함께 사용자 속성 파일, 구성 파일 또는 입력 데이터 파일(예: CSV 파일)을 업로드할 수 있습니다.

  1. 테스트 계획으로 이동합니다.

  2. 로컬 컴퓨터에서 모든 파일을 선택하고 Azure에 업로드합니다.

    Screenshot that shows the test plan page for creating a test in the Azure portal, highlighting the upload functionality.

    Azure Load Testing은 모든 파일을 단일 리포지토리에 저장합니다. 테스트 스크립트가 구성 또는 데이터 파일을 참조하는 경우 JMX 파일에서 상대 경로 이름을 제거해야 합니다.

  3. 테스트에서 CSV 입력 데이터를 사용하는 경우 테스트 엔진 간에 CSV를 균등하게 분할하도록 선택할 수 있습니다.

    기본적으로 Azure Load Testing은 모든 테스트 엔진 인스턴스에서 수정되지 않은 입력 파일을 복사하고 처리합니다. Azure Load Testing을 사용하면 모든 엔진 인스턴스에서 CSV 입력 데이터를 균등하게 분할할 수 있습니다. CSV 파일이 여러 개인 경우 각 파일이 균등하게 분할됩니다.

    예를 들어, 대규모 고객 CSV 입력 파일이 있고 부하 테스트가 10개의 병렬 테스트 엔진에서 실행되는 경우 각 인스턴스는 고객의 1/10을 처리합니다. 부하 테스트에서 CSV 파일을 읽는 방법에 대해 자세히 알아보세요.

    Screenshot that shows the checkbox to enable splitting input C S V files when configuring a test in the Azure portal.

목록에 있는 파일 이름을 선택하여 테스트 계획 탭에서 파일을 다운로드할 수 있습니다. 예를 들어 빠른 테스트를 위해 생성된 JMeter 스크립트를 다운로드하고 수정한 다음 파일을 다시 업로드할 수 있습니다.

매개 변수

매개 변수를 사용하여 JMeter 스크립트에서 값을 하드 코딩하는 대신 테스트 계획을 구성할 수 있습니다. 부하 테스트 구성에서 키-값 쌍을 지정한 다음, 매개 변수 이름을 사용하여 JMeter 스크립트에서 해당 값을 참조합니다. 자세한 내용은 환경 변수 및 비밀을 사용하여 부하 테스트 매개 변수화를 참조하세요.

Screenshot that shows how to configure parameters when creating a test in the Azure portal.

  1. 환경 변수를 지정하여 테스트 스크립트에 민감하지 않은 매개 변수를 전달합니다.

    예를 들어 환경 변수를 사용하여 대상 도메인 이름 또는 포트 번호를 테스트 스크립트에 전달할 수 있습니다. 부하 테스트에서 환경 변수를 사용하는 방법에 대해 자세히 알아보세요.

  2. Azure Key Vault에서 지원되는 비밀에 대한 참조를 추가합니다.

    비밀을 사용하여 암호 또는 인증 토큰과 같은 중요한 매개 변수를 테스트 스크립트에 전달합니다. Azure Key Vault에 비밀 값을 저장하고 부하 테스트 구성에서 키에 대한 참조를 추가합니다. 그런 다음 매개 변수 이름을 사용하여 스크립트에서 키를 참조할 수 있습니다. 그러면 Azure Load Testing은 Azure Key Vault에서 키 값을 검색합니다.

    부하 테스트에서 비밀을 사용하는 방법에 대해 자세히 알아보세요.

  3. Azure Key Vault에서 지원되는 클라이언트 인증서에 대한 참조를 추가합니다.

    인증서 기반 인증을 사용하는 애플리케이션 엔드포인트에 대한 부하 테스트를 수행하는 경우 Azure Key Vault에 인증서를 추가하고 부하 테스트 구성에서 인증서에 대한 참조를 추가할 수 있습니다. Azure Load Testing은 JMeter 스크립트의 웹 요청에 인증서를 자동으로 삽입합니다.

    Azure Load Testing에서 인증서 기반 인증을 사용하는 방법에 대해 자세히 알아보세요.

  4. 비밀 또는 인증서에 대한 키 자격 증명 모음에 액세스하는 데 사용되는 관리 ID를 선택합니다.

    Azure Load Testing에서 관리 ID를 사용하는 방법에 대해 자세히 알아보세요.

로드

  1. 테스트 엔진 인스턴스 수를 지정합니다.

    Azure Load Testing이 모든 인스턴스에서 부하 테스트의 규모를 자동으로 조정합니다. JMeter 테스트 스크립트는 모든 인스턴스에서 병렬로 실행됩니다. 시뮬레이션된 사용자의 총 수는 JMeter 스크립트에서 지정한 가상 사용자(스레드) 수와 테스트 엔진 인스턴스 수를 곱한 수와 같습니다. 자세한 내용은 대규모 부하에 대한 테스트 구성을 참조하세요.

  2. 가상 네트워크 연결을 구성합니다.

    프라이빗 호스팅 또는 온-프레미스 엔드포인트에 대한 부하 테스트를 위해 부하 테스트를 Azure 가상 네트워크에 연결할 수 있습니다. 가상 네트워크에서 Azure Load Testing을 배포하기 위한 시나리오에 대해 자세히 알아보세요.

    가상 네트워크에 연결하려면 프라이빗트래픽 모드를 선택한 다음 가상 네트워크 서브넷을 선택합니다.

Screenshot that shows how to configure the number of test engine instances when creating a test in the Azure portal.

테스트 기준

  1. 클라이언트 메트릭에 따라 테스트 실패 조건을 지정할 수 있습니다.

    부하 테스트가 메트릭의 임계값을 초과하면 부하 테스트가 실패 상태가 됩니다. Azure Load Testing은 현재 실패 조건에 대해 다음과 같은 클라이언트 쪽 메트릭을 지원합니다.

    • 응답 시간
    • 초당 요청
    • 총 요청 수
    • 대기 시간
    • 오류 비율

    전체 부하 테스트에 대한 실패 조건을 지정하거나 JMeter 스크립트의 특정 요청에 할당할 수 있습니다. 예를 들어 홈페이지 응답 시간이 특정 응답 시간을 초과하지 않는지 확인합니다. 자세한 내용은 테스트 실패 조건 구성을 참조하세요.

  2. 자동 중지 조건을 구성합니다.

    Azure Load Testing은 오류율이 지정된 임계값을 초과할 때 부하 테스트 실행을 자동으로 중지할 수 있습니다. 이 기능을 사용하거나 사용하지 않도록 설정하고 특정 오류율 임계값 및 기간을 구성할 수 있습니다. 자동 중지 조건 구성에 대해 자세히 알아보세요.

Screenshot that shows how to configure test criteria when creating a test in the Azure portal.

모니터링

Azure 호스팅 애플리케이션의 경우 부하 테스트 실행 중에 모니터링할 Azure 앱 구성 요소를 추가합니다. Azure Load Testing은 선택한 Azure 앱 구성 요소에 대한 세부 리소스 메트릭을 캡처합니다. 이러한 메트릭을 사용하여 애플리케이션에서 잠재적인 성능 병목 상태를 식별합니다.

앱 구성 요소를 추가하면 Azure Load Testing에서 구성 요소와 가장 크게 관련된 리소스 메트릭을 자동으로 선택합니다. 언제든지 각 앱 구성 요소에 대한 리소스 메트릭을 추가하거나 제거할 수 있습니다.

Screenshot that shows how to configure the Azure app components to monitor when creating a test in the Azure portal.

부하 테스트가 완료되면 테스트 결과 대시보드에 각 Azure 앱 구성 요소 및 리소스 메트릭에 대한 그래프가 표시됩니다.

Screenshot that shows the test result dashboard in the Azure portal.

자세한 내용은 서버 쪽 모니터링 구성을 참조하세요.

테스트 실행

부하 테스트를 실행하거나 다시 실행할 때 Azure Load Testing은 최신 부하 테스트 구성 설정을 사용하여 새 테스트 실행을 만듭니다. 테스트 구성을 편집하고 변경 내용을 적용한 후 테스트 실행 확인란을 선택하면 변경 내용을 저장한 후 자동으로 부하 테스트가 시작됩니다.

Azure Portal에서 부하 테스트를 실행하려면 다음을 수행합니다.

  1. Azure Portal에서 Azure Load Testing 리소스로 이동합니다.

  2. 왼쪽 창에서 테스트를 선택하고 목록에서 테스트 이름을 선택하여 테스트 세부 정보로 이동합니다.

  3. 실행을 선택합니다.

  4. 실행 페이지에서 테스트 실행 설명을 입력하고 부하 테스트 매개 변수를 재정의하도록 선택할 수 있습니다.

Screenshot that shows the run load test page in the Azure portal, allowing an override of the test run description and test parameters.

  1. 실행을 선택하여 부하 테스트를 시작합니다.

    서비스는 사용자가 제공한 설명을 추가하여 새 테스트 실행을 만듭니다.

테스트 편집

부하 테스트 구성 설정을 편집하면 해당 설정은 향후 테스트 실행에 사용됩니다. 이전 테스트 실행을 다시 실행하면 업데이트된 설정이 아닌 이전 테스트 실행 설정이 사용됩니다.

Azure Portal에서 테스트를 편집하려면 다음을 수행합니다.

  1. Azure Portal에서 Azure Load Testing 리소스로 이동합니다.

  2. 왼쪽 창에서 테스트를 선택하고 해당 확인란을 선택하여 목록에서 테스트를 선택합니다.

  3. 편집을 선택하여 테스트 구성 설정을 업데이트합니다.

    Screenshot that shows how to select and edit a load test in the Azure portal.

    또는 목록에서 테스트를 선택한 다음 구성>테스트를 선택합니다.

  4. 편집 페이지에서 적용을 선택하여 변경 내용을 저장합니다.

    다음에 테스트를 실행할 때 업데이트된 테스트 구성 설정이 사용됩니다.

테스트 삭제

Azure Portal에서 테스트를 삭제하려면 다음을 수행합니다.

  1. Azure Portal에서 Azure Load Testing 리소스로 이동합니다.

  2. 왼쪽 창에서 테스트를 선택하고 해당 확인란을 선택하여 목록에서 테스트를 선택합니다.

  3. 테스트 삭제를 선택하여 테스트를 삭제합니다.

    Screenshot that shows how to select and delete a load test in the Azure portal.

    또는 목록에서 테스트를 선택한 다음 테스트 세부 정보 페이지에서 테스트 삭제를 선택합니다.

  4. 테스트 삭제 페이지에서 삭제를 선택하여 테스트 삭제를 확인합니다.

주의

테스트를 삭제하면 모든 테스트 실행, 로그, 결과, 메트릭 데이터도 삭제됩니다.

다음 단계