다음을 통해 공유


빠른 시작: Locust 스크립트 및 Azure Load Testing을 사용하여 부하 테스트 만들기 및 실행

Azure Portal에서 Locust 테스트 스크립트 및 Azure Load Testing을 사용하여 부하 테스트를 만들고 실행하는 방법을 알아봅니다. Azure Load Testing은 클라우드 규모에서 부하 테스트를 실행할 수 있는 관리되는 서비스입니다. Locust는 Python 코드의 모든 테스트를 설명할 수 있는 오픈 소스 부하 테스트 도구입니다.

필수 조건

기존 Locust 테스트 스크립트를 사용하여 부하 테스트를 만드는 경우를 사용합니다.

  • 기존 Locust 스크립트를 다시 사용하여 애플리케이션을 테스트하려고 합니다.
  • 애플리케이션에 대한 사용자 트래픽을 시뮬레이션하고 애플리케이션이 요구 사항을 충족하는지 확인하려고 합니다.
  • 부하 테스트를 위해 복잡한 인프라를 설정하지 않으려는 경우 또한 개발자가 부하 테스트 도구 및 테스트 스크립트 구문에 익숙하지 않을 수 있습니다.

이 빠른 시작에서는 Azure Load Testing 및 Locust 테스트 프레임워크를 사용하여 애플리케이션 엔드포인트에 대한 부하 테스트를 만듭니다. Azure Portal에서 부하 테스트 리소스를 만든 다음, Locust 테스트 스크립트를 업로드하고 부하 매개 변수를 구성하여 부하 테스트를 만듭니다.

Important

Azure Load Testing에서 Locust에 대한 지원은 현재 제한된 미리 보기로 제공됩니다. 베타, 미리 보기 또는 아직 일반 공급으로 릴리스되지 않은 Azure 기능에 적용되는 약관은 Microsoft Azure 미리 보기에 대한 보충 사용 약관을 참조하세요. 여기에서 등록하여 미리 보기용 Azure 구독을 등록합니다.

Azure Load Testing 리소스 만들기

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

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

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

  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 리소스를 호스트할 지리적 위치를 선택합니다.
    또한 이 위치는 테스트 엔진이 호스트되는 위치와 테스트 프레임워크 요청이 시작되는 위치를 결정합니다.

    참고 항목

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

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

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

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

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

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

    Azure Load Testing 리소스를 사용할 권한이 없다는 Azure Portal의 오류 메시지를 보여 주는 스크린샷.

부하 테스트 만들기

이제 부하 테스트 리소스가 있으므로 Locust 테스트 스크립트를 업로드하여 부하 테스트를 만들 수 있습니다. Azure Load Testing은 대규모로 테스트 스크립트를 실행하고 애플리케이션 엔드포인트에 대한 트래픽을 시뮬레이션하는 인프라를 관리합니다.

Azure Portal에서 Locust 기반 테스트에 대한 부하 테스트를 만들려면 다음을 수행합니다.

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

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

  3. + 만들기를 선택한 다음 스크립트 업로드를 선택합니다.

    Azure Load Testing 페이지와 새 테스트 만들기 단추를 보여 주는 스크린샷

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

    필드 설명
    테스트 이름 고유한 테스트 이름을 입력합니다.
    테스트 설명 (선택 사항) 부하 테스트 설명을 입력합니다.
    만든 후 테스트 실행 저장한 후 부하 테스트를 자동으로 시작하려면 이 설정을 선택합니다.
  5. 테스트 계획 탭에서 부하 테스트 프레임워크Locust를 선택합니다.

    Locust 프레임워크를 선택하는 옵션을 보여 주는 스크린샷

  6. 다음으로 컴퓨터에서 Locust 테스트 스크립트를 선택한 다음 업로드를 선택하여 Azure에 파일을 업로드합니다.

    테스트 아티팩트 업로드 단추를 보여 주는 스크린샷

  7. 테스트 스크립트에서 참조하는 다른 파일을 업로드합니다. 예를 들어 테스트 스크립트에서 CSV 데이터 세트를 사용하는 경우 해당 .csv 파일을 업로드할 수 있습니다. Locust 스크립트와 함께 구성 파일을 사용하려면 파일을 업로드하고 파일 관련성으로 Locust 구성을 선택합니다.

  8. 'requirements.txt' 파일에서 종속성을 설치하려면 다른 아티팩트와 함께 'requirements.txt' 파일을 업로드합니다. Locust 스크립트에 이 코드를 추가하여 종속성을 설치합니다.

    import subprocess
    subprocess.check_output("python3 -m pip install -r requirements.txt", shell=True)
    
  9. Locust와 함께 지원 Python 파일을 사용하려면 지원 Python 파일의 휠(.whl) 파일을 만들고 다른 아티팩트와 함께 휠 파일을 업로드합니다. Locust를 시작하는 동안 바퀴 파일을 설치하려면 Locust 스크립트에 이 코드를 추가합니다.

    import subprocess
    subprocess.check_output("python3 -m pip install your_wheel.whl", shell=True)
    

    참고 항목

    Locust 스크립트의 가져오기 섹션에 종속성 및 지원 파일을 설치하는 코드 조각을 포함합니다. 부하 테스트 섹션에 포함하지 마세요.

  10. 로드 탭에서 생성할 로드 양에 대한 세부 정보를 입력합니다.

    필드 설명
    테스트 엔진 인스턴스 병렬 테스트 엔진 인스턴스 수를 선택합니다. 각 테스트 엔진은 사용자 수의 트래픽을 시뮬레이션합니다.
    사용자 수 테스트 엔진 인스턴스당 시뮬레이션할 가상 사용자 수를 입력합니다.
    기간(분) 부하 테스트의 총 기간(분)입니다.
    사용자 생성 속도 (선택 사항) 사용자를 추가하는 속도(초당 사용자 수)입니다.
    호스트 엔드포인트 (선택 사항) HTTP 엔드포인트 URL입니다. 예: https://www.contoso.com/products.|
  11. 검토 + 만들기를 선택합니다. 모든 설정을 검토한 다음, 만들기를 선택하여 부하 테스트를 만듭니다.

다른 Locust 테스트 파일을 업로드하거나 부하 매개 변수를 수정하는 등 언제든지 테스트 구성을 업데이트할 수 있습니다. 테스트 목록에서 테스트를 선택한 다음, 편집을 선택합니다.

부하 테스트 실행

만든 후 테스트 실행을 선택한 경우 부하 테스트가 자동으로 시작됩니다. 이전에 만든 부하 테스트를 수동으로 시작하려면 다음 단계를 수행합니다.

  1. 부하 테스트 리소스로 이동하여 왼쪽 창에서 테스트를 선택한 다음, 이전에 만든 테스트를 선택합니다.

    부하 테스트 목록을 보여 주는 스크린샷

  2. 테스트 세부 정보 페이지에서 실행 또는 테스트 실행을 선택합니다. 그런 다음, 확인 창에서 실행을 선택하여 부하 테스트를 시작합니다. 필요에 따라 테스트 실행 설명을 제공합니다.

    실행 확인 페이지를 보여 주는 스크린샷

    부하 테스트는 Azure Portal에서 언제든지 중지할 수 있습니다.

  3. Azure Portal에서 테스트 실행 세부 정보, 통계 및 클라이언트 메트릭을 확인합니다.

    테스트 스크립트에 여러 요청이 있는 경우 차트에 모든 요청이 표시되며 특정 요청을 필터링할 수도 있습니다. 샘플러 통계 섹션에서 테이블 형식으로 요청당 통계를 볼 수 있습니다.

    테스트 실행 대시보드를 보여 주는 스크린샷

    실행 통계 및 오류 정보를 사용하여 로드 중인 애플리케이션의 성능 및 안정성 문제를 식별합니다.

요약

이 빠른 시작에서는 Locust 테스트 스크립트를 사용하여 Azure Load Testing을 사용하여 부하 테스트를 만들고 실행했습니다. Azure Load Testing은 애플리케이션에 대한 대규모 사용자 부하를 시뮬레이션하기 위한 인프라 설정의 복잡성을 추상화합니다.

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