빠른 시작: Azure Load Testing을 사용하여 부하 테스트를 만들고 실행

이 빠른 시작에서는 Azure Portal에서 Azure Load Testing을 사용하여 URL 기반 테스트를 만들어 웹 애플리케이션의 부하 테스트를 수행합니다. URL 기반 테스트를 통해 부하 테스트 도구나 스크립팅에 대한 사전 지식 없이도 부하 테스트를 만들 수 있습니다. Azure Portal 환경을 사용하여 HTTP 요청을 지정하여 부하 테스트를 구성합니다.

URL 기반 부하 테스트를 만들려면 다음 단계를 수행합니다.

  1. Azure Load Testing 리소스 만들기
  2. 웹 애플리케이션 엔드포인트 및 기본 부하 구성 매개 변수를 지정합니다.
  3. 필요에 따라 HTTP 엔드포인트를 더 추가합니다.

이 빠른 시작을 완료하면 다른 자습서에 사용할 수 있는 리소스 및 부하 테스트가 수행됩니다.

필수 조건

어떤 문제를 해결할 수 있나요?

애플리케이션을 배포하기 전에 애플리케이션이 예상 부하를 지원할 수 있는지 확인하려고 합니다. 부하 테스트를 사용하여 애플리케이션에 대한 사용자 트래픽을 시뮬레이션하고 애플리케이션이 요구 사항을 충족하는지 확인할 수 있습니다. 부하를 시뮬레이션하려면 복잡한 인프라 설정이 필요할 수 있습니다. 또한 개발자가 부하 테스트 도구 및 테스트 스크립트 구문에 익숙하지 않을 수 있습니다.

이 빠른 시작에서는 Azure Load Testing을 사용하여 애플리케이션 엔드포인트에 대한 부하 테스트를 만듭니다. 부하 테스트 도구 및 스크립팅에 대한 지식 없이 Azure Portal에서 애플리케이션에 대한 HTTP 요청을 완전히 추가하여 부하 테스트를 구성합니다.

Azure Load Testing 리소스 만들기

먼저 Azure Load Testing에 대한 최상위 리소스를 만듭니다. 이 리소스는 테스트 계획, 테스트 결과 및 관련 아티팩트를 보고 관리할 수 있는 중앙 집중식 위치를 제공합니다.

부하 테스트 리소스가 이미 있는 경우 이 섹션을 건너뛰고 부하 테스트 만들기를 진행합니다.

부하 테스트 리소스를 만들려면 다음을 수행합니다.

  1. Azure 구독에 대한 자격 증명을 사용하여 Azure Portal에 로그인합니다.

  2. Azure Portal 메뉴 또는 페이지에서 리소스 만들기를 선택합니다.

  3. Marketplace 페이지에서 Azure Load Testing을 검색하여 선택합니다.

  4. Azure Load Testing 창에서 만들기를 선택합니다.

  5. 부하 테스트 리소스 만들기 페이지에서 다음 정보를 입력합니다.

    필드 Description
    구독 이 Azure Load Testing 리소스에 사용하려는 Azure 구독을 선택합니다.
    리소스 그룹 기존 리소스 그룹을 선택합니다. 또는 새로 만들기를 선택하고 새 리소스 그룹의 고유한 이름을 입력합니다.
    이름 Azure Load Testing 리소스를 식별할 수 있는 고유한 이름을 입력합니다.
    이름에는 \/""[]:|<>+=;,?*@& 또는 공백과 같은 특수 문자를 사용할 수 없습니다. 이름은 밑줄(_)로 시작할 수 없으며 마침표(.) 또는 대시(-)로 끝날 수 없습니다. 길이는 1~64자여야 합니다.
    위치 Azure Load Testing 리소스를 호스트할 지리적 위치를 선택합니다.
    이 위치에 따라 테스트 엔진이 호스트되는 위치와 JMeter 클라이언트 요청이 시작되는 위치가 결정됩니다.

    참고 항목

    필요에 따라 태그 탭에서 세부 정보를 구성할 수 있습니다. 태그는 동일한 태그를 여러 개의 리소스 및 리소스 그룹에 적용하여 리소스를 범주화하고 통합된 청구를 볼 수 있는 이름/값 쌍입니다.

  6. 리소스 구성을 마쳤으면 검토 + 만들기를 선택합니다.

  7. 제공한 설정을 검토한 다음, 만들기를 선택합니다. 계정을 만드는 데 몇 분이 걸립니다. 포털 페이지에 배포가 완료됨이 표시될 때까지 기다린 다음, 계속 진행합니다.

  8. 새 리소스를 보려면 리소스로 이동을 선택합니다.

    Screenshot that shows the deployment completion screen.

  9. 원한다면 Azure Load Testing 리소스에 대한 액세스 권한을 관리합니다.

    Azure Load Testing은 RBAC(역할 기반 액세스 제어)를 사용하여 리소스에 대한 권한을 관리합니다. 이 메시지가 표시되면 테스트를 관리하는 데 필요한 권한이 계정에 없는 것입니다.

    Screenshot that shows an error message in the Azure portal that you're not authorized to use the Azure Load Testing resource.

부하 테스트 만들기

Azure Load Testing을 사용하면 대상 웹 애플리케이션 URL 및 기본 부하 테스트 매개 변수를 지정하여 Azure Portal에서 부하 테스트를 빠르게 만들 수 있습니다. 이 서비스는 부하 테스트 스크립트 만들기 및 컴퓨팅 인프라 프로비저닝의 복잡성을 추상화합니다.

웹 엔드포인트에 대한 부하 테스트를 만들려면 다음을 수행합니다.

  1. Azure Load Testing 리소스의 개요 페이지로 이동합니다.

  2. 시작 탭에서 HTTP 요청 추가>만들기를 선택합니다.

    Screenshot that shows how to create a URL-based test from the resource overview page in the Azure portal.

  3. 기본 사항 탭에서 부하 테스트 세부 정보를 입력합니다.

    필드 설명
    테스트 이름 고유한 테스트 이름을 입력합니다.
    테스트 설명 (선택 사항) 부하 테스트 설명을 입력합니다.
    만든 후 테스트 실행 선택됨 부하 테스트를 저장하면 테스트가 자동으로 시작됩니다.
    고급 설정 사용 확인되지 않은 상태로 둡니다. 고급 설정을 사용하면 여러 HTTP 요청을 추가하고 고급 부하 테스트 설정을 구성할 수 있습니다.
  4. 다음으로 애플리케이션 엔드포인트 및 부하 테스트 매개 변수를 구성합니다.

    필드 설명
    테스트 URL 테스트를 실행하려는 전체 URL을 입력합니다. 예: https://www.example.com/products.
    부하 지정 가상 사용자를 선택하여 대상 가상 사용자 수를 기반으로 시뮬레이션된 부하를 지정합니다.
    가상 사용자 수 시뮬레이션할 총 가상 사용자 수를 입력합니다.

    Azure Load Testing은 각 엔진이 최대 250명의 가상 사용자를 처리하는 병렬 테스트 엔진 인스턴스 전체에 시뮬레이션된 부하를 고르게 분산합니다. 예를 들어 400명의 가상 사용자를 입력하면 각각 200명의 가상 사용자가 있는 두 개의 인스턴스가 생성됩니다.
    테스트 지속 시간(분) 부하 테스트 지속 시간을 분 단위로 입력합니다.
    램프업 시간(분) 부하 테스트의 램프 업 시간(분)을 입력합니다. 램프 업 시간은 대상 가상 사용자 수에 도달하는 시간입니다.

    또는 RPS(초당 요청)을 선택하여 대상 초당 요청 수를 기반으로 시뮬레이션된 부하를 구성합니다.

  5. 검토 + 만들기를 선택하여 부하 테스트 구성을 검토한 다음, 만들기를 선택하여 부하 테스트를 시작합니다.

    Screenshot that shows the quick test page in the Azure portal, highlighting the option for specifying virtual users.

부하 테스트가 저장된 후 Azure Load Testing은 부하 테스트 스크립트를 생성하여 애플리케이션 엔드포인트에 대한 트래픽을 시뮬레이션합니다. 그런 다음, 서비스는 대상 부하를 시뮬레이션하기 위한 인프라를 프로비전합니다.

테스트 결과 보기

부하 테스트가 시작되면 테스트 실행 대시보드로 리디렉션됩니다. 부하 테스트가 실행되는 동안 Azure Load Testing은 클라이언트 쪽 메트릭과 서버 쪽 메트릭을 모두 캡처합니다. 이 섹션에서는 이 대시보드를 사용하여 클라이언트 쪽 메트릭을 모니터링합니다.

  1. 테스트 실행 대시보드에서 테스트가 실행되는 동안 스트리밍 클라이언트 쪽 메트릭을 볼 수 있습니다. 기본적으로 데이터는 5초마다 새로 고쳐집니다.

    Screenshot that shows results of the load test.

  2. 부하 테스트가 완료되면 총 요청, 지속 시간, 평균 응답 시간, 오류 비율 및 처리량과 같은 부하 테스트 요약 통계를 볼 수 있습니다.

    Screenshot that shows test run dashboard, highlighting the load test statistics.

  3. 필요에 따라 표시 필터를 변경하여 특정 시간 범위, 결과 백분위수 또는 오류 유형을 봅니다.

    Screenshot that shows the filter criteria for the results of a load test.

부하 테스트에 요청 추가

Azure Load Testing을 사용하면 여러 요청을 포함하는 URL 기반 부하 테스트를 만들 수 있습니다. 부하 테스트에 최대 5개의 HTTP 요청을 추가하고 GET, POST 등과 같은 HTTP 메서드를 사용할 수 있습니다.

이전에 만든 부하 테스트에 HTTP 요청을 추가하려면 다음을 수행합니다.

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

  2. 왼쪽 탐색 창에서 테스트를 선택하여 모든 테스트를 봅니다.

  3. 해당 확인란을 선택하여 목록에서 테스트를 선택한 다음, 편집을 선택합니다.

    Screenshot that shows the list of tests in the Azure portal, highlighting the Edit button to modify the load test settings.

  4. 기본 탭에서 고급 설정 사용을 선택합니다.

    고급 설정을 사용하면 부하 테스트에 대한 여러 HTTP 요청을 정의할 수 있습니다. 또한 테스트 조건 및 고급 부하 매개 변수를 구성할 수도 있습니다.

    고급 설정으로 전환하면 테스트 URL이 테스트에 자동으로 추가되지 않습니다. 부하 테스트에 테스트 URL을 다시 추가해야 합니다.

  5. 테스트 계획 탭으로 이동하고 요청 추가를 선택하여 부하 테스트에 요청을 추가합니다.

  6. 요청 추가 페이지에서 요청 세부정보를 입력한 다음, 추가를 선택합니다.

    필드 설명
    요청 형식 UI에 입력 추가를 선택하여 Azure Portal의 필드를 통해 요청 세부 정보를 구성합니다.
    요청 이름 요청의 고유한 이름을 입력합니다. 테스트 실패 조건을 정의할 때 이 요청 이름을 참조할 수 있습니다.
    URL 애플리케이션 엔드포인트의 URL입니다.
    방법 목록에서 HTTP 메서드를 선택합니다. Azure Load Testing은 GET, POST, PUT, DELETE, PATCH, HEAD 및 OPTIONS를 지원합니다.
    쿼리 매개 변수 (선택 사항) URL에 추가할 쿼리 문자열 매개 변수를 입력합니다.
    헤더 (선택 사항) HTTP 요청에 포함할 HTTP 헤더를 입력합니다.
    본문 (선택 사항) HTTP 메서드에 따라 HTTP 본문 콘텐츠를 지정할 수 있습니다. Azure Load Testing은 원시 데이터, JSON 보기, JavaScript, HTML 및 XML 형식을 지원합니다.

    Screenshot that shows how to add a request to a URL-based load test in the Azure portal.

  7. (선택 사항) 부하 테스트에 더 많은 요청을 추가합니다.

  8. (선택 사항) 로드 탭에서 부하 매개 변수를 구성합니다.

    고급 설정을 사용하면 테스트 엔진 인스턴스 수를 구성하고 다양한 부하 패턴 중에서 선택할 수 있습니다.

    Screenshot that shows the Load tab when configuring a load test in the Azure portal.

  9. 적용을 선택하여 부하 테스트 구성을 업데이트합니다.

  10. 테스트 페이지에서 테스트를 선택한 다음, 실행을 선택하여 업데이트된 구성으로 부하 테스트를 실행합니다.

    테스트 실행 대시보드에는 부하 테스트의 다양한 HTTP 요청에 대한 메트릭이 표시됩니다. 요청 필터를 사용하면 특정 요청에 대한 메트릭만 볼 수 있습니다.

    Screenshot that shows the test results dashboard in the Azure portal, showing the results for the different requests in the load test.

문제를 어떻게 해결했나요?

이 빠른 시작에서는 스크립팅이나 부하 테스트 도구 없이 Azure Portal에서 완전히 URL 기반 부하 테스트를 만들었습니다. HTTP 요청을 추가하여 부하 테스트를 구성한 다음, 부하 테스트 대시보드를 사용하여 부하 테스트 클라이언트 쪽 메트릭을 분석하고 테스트 중인 애플리케이션의 성능을 평가했습니다. Azure Load Testing은 애플리케이션에 대한 대규모 사용자 부하를 시뮬레이션하기 위한 인프라 설정의 복잡성을 추상화합니다.

부하 테스트를 더욱 확장하여 부하가 걸린 애플리케이션의 서버 쪽 메트릭도 모니터링하고 애플리케이션이 요구 사항을 충족하지 않을 때 경고를 받을 테스트 실패 메트릭을 지정할 수 있습니다. 애플리케이션이 계속해서 제대로 작동하도록 CI/CD(연속 통합 및 지속적인 배포) 워크플로의 일부로 부하 테스트를 통합할 수도 있습니다.

리소스 정리

Important

만든 Azure Load Testing 리소스를 다른 Azure Load Testing 자습서 및 방법 문서를 위해 다시 사용할 수 있습니다.

만든 리소스를 사용할 계획이 없다면 추가 요금이 발생하지 않도록 삭제합니다. 다른 리소스 그룹에 샘플 애플리케이션을 배포한 경우 다음 단계를 반복할 수 있습니다.

Azure Portal을 사용하여 리소스를 삭제하려면 다음을 수행합니다.

  1. 왼쪽 상단 모서리에 있는 메뉴 단추를 선택한 다음, 리소스 그룹을 선택합니다.

  2. 목록에서 만든 리소스 그룹을 선택합니다.

  3. 리소스 그룹 삭제를 선택합니다. Screenshot of the selections to delete a resource group in the Azure portal.

  4. 리소스 그룹 이름을 입력합니다. 그런 다음 삭제를 선택합니다.

Azure CLI를 사용하여 리소스를 삭제하려면 다음 명령을 입력합니다.

az group delete --name <yourresourcegroup>

리소스 그룹을 삭제하면 리소스 그룹 내의 모든 리소스가 삭제됩니다.

다음 단계