Azure Load Testing에서 JMeter 스크립트를 사용하여 웹 사이트 부하 테스트

Azure Portal에서 Azure Load Testing을 사용하여 또는 Azure CLI을 사용하여 Apache JMeter 스크립트로 웹 애플리케이션의 부하를 테스트하는 방법을 알아봅니다. Azure Load Testing을 사용하면 기존 Apache JMeter 스크립트를 사용하여 클라우드 규모에서 부하 테스트를 실행할 수 있습니다. Azure Load Testing에서 지원하는 JMeter 기능에 대해 자세히 알아봅니다.

기존 JMeter 스크립트를 사용하여 부하 테스트를 만드는 사용 사례는 다음과 같습니다.

  • 기존 JMeter 스크립트를 다시 사용하여 애플리케이션을 테스트하려고 합니다.
  • 데이터베이스 또는 메시지 큐와 같이 HTTP 기반이 아닌 엔드포인트를 테스트하려고 합니다. Azure Load Testing은 JMeter에서 지원하는 모든 통신 프로토콜을 지원합니다.
  • CLI 명령을 사용하려면 Azure CLI 버전 2.2.0 이상을 사용합니다. 컴퓨터에 설치된 버전을 찾으려면 az --version을 실행합니다. Azure CLI를 설치하거나 업그레이드해야 하는 경우 Azure CLI 설치 방법을 참조하세요.

필수 조건

Azure Load Testing 리소스 만들기

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

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

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.

부하 테스트 만들기

다음으로 Apache JMeter 테스트 스크립트(JMX 파일)를 업로드하여 부하 테스트를 만듭니다. 테스트 스크립트에는 애플리케이션 엔드포인트에 대한 트래픽을 시뮬레이션하기 위한 애플리케이션 요청이 포함되어 있습니다.

Azure Portal에서 기존 JMeter 스크립트를 사용하여 부하 테스트를 만들려면 다음을 수행합니다.

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

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

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

    Screenshot that shows the Azure Load Testing page and the button for creating a new test.

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

    필드 설명
    테스트 이름 고유한 테스트 이름을 입력합니다.
    테스트 설명 (선택 사항) 부하 테스트 설명을 입력합니다.
    만든 후 테스트 실행 저장한 후 부하 테스트를 자동으로 시작하려면 이 설정을 선택합니다.
  5. 테스트 계획 탭에서 Apache JMeter 스크립트를 선택한 다음, 업로드를 선택하여 파일을 Azure에 업로드합니다.

    Screenshot that shows the Test plan tab.

    참고 항목

    추가 JMeter 구성 파일을 업로드하거나 JMX 파일에서 참조하는 다른 파일을 업로드할 수 있습니다. 예를 들어 테스트 스크립트에서 CSV 데이터 세트를 사용하는 경우 해당 .csv 파일을 업로드할 수 있습니다. CSV 파일에서 데이터를 읽는 방법도 참조하세요. JMeter 스크립트 및 사용자 속성 이외의 파일의 경우 파일 크기가 50MB보다 크다면 파일을 압축합니다. Zip 파일의 크기는 50MB 미만이어야 합니다. Azure Load Testing은 테스트 실행 중에 자동으로 파일 압축을 풉니다. Zip 아티팩트는 5개까지만 허용되며, 각 Zip당 파일 개수는 1,000개 이하여야 하고 압축을 풀었을 때 총 파일의 크기는 1GB 이하여야 합니다.

  6. 검토 + 만들기를 선택합니다. 모든 설정을 검토한 다음, 만들기를 선택하여 부하 테스트를 만듭니다.

예를 들어 다른 JMX 파일을 업로드하기 위해 언제든지 테스트 구성을 업데이트할 수 있습니다. 테스트 목록에서 테스트를 선택한 다음, 편집을 선택합니다.

부하 테스트 실행

Azure Load Testing에서 부하 테스트를 시작하면 먼저 JMeter 스크립트 및 기타 파일을 테스트 엔진 인스턴스에 배포한 다음, 부하 테스트를 시작합니다.

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

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

    Screenshot that shows the list of load tests.

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

    Screenshot that shows the run confirmation page.

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

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

    테스트 스크립트에 여러 요청이 있는 경우 차트에 모든 요청이 표시되며 특정 요청을 필터링할 수도 있습니다.

    Screenshot that shows the test run dashboard.

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

URL 기반 부하 테스트를 JMeter 기반 부하 테스트로 변환

URL 기반 부하 테스트를 만든 경우 테스트를 JMeter 기반 부하 테스트로 변환할 수 있습니다. Azure Load Testing은 URL 기반 부하 테스트를 만들 때 JMeter 스크립트를 자동으로 생성합니다.

URL 기반 부하 테스트를 JMeter 기반 부하 테스트로 변환하려면 다음을 수행합니다.

  1. 부하 테스트 리소스로 이동하고 테스트를 선택하여 테스트 목록을 봅니다.

    테스트가 URL 기반인지 아니면 JMeter 기반인지를 나타내는 테스트 유형 열을 확인합니다.

  2. URL 기반 부하 테스트에 줄임표(...)를 선택한 다음 JMeter 스크립트로 변환을 선택합니다.

    Screenshot that shows the list of tests in the Azure portal, highlighting the menu option to convert the test to a JMeter-based test.

    또는 테스트를 선택한 다음 테스트 세부 정보 페이지에서 JMeter 스크립트로 변환을 선택합니다.

  3. JMeter 스크립트로 변환 페이지에서 변환을 선택하여 테스트를 JMeter 기반 테스트로 변환합니다.

    테스트 목록에서 테스트 유형이 JMX로 변경되었습니다.

    Screenshot that shows the list of tests in the Azure portal, highlighting the test type changed to JMX for the converted test.