타사 도구에서 사용하기 위해 Azure Load Testing에서 테스트 결과 내보내기

이 문서에서는 Azure Load Testing 테스트 결과를 내보내는 방법을 알아봅니다. 결과는 Azure portal을 사용하여 CI/CD 워크플로우 아티팩트로, 백엔드 수신기를 사용하여 JMeter 아티팩트로, 또는 Azure Storage 계정에서 복사하여 다운로드할 수 있습니다. 타사 도구에서 보고하거나 테스트 실패를 진단하는 데 이러한 결과를 사용할 수 있습니다. Azure Load Testing은 CSV(쉼표로 구분된 값) 파일 형식으로 테스트 결과를 생성하고 부하 테스트에 대한 각 애플리케이션 요청의 세부 정보를 제공합니다.

테스트 결과를 사용하여 부하 테스트 중에 오류를 진단할 수도 있습니다. responseCoderesponseMessage 필드는 실패한 요청에 대한 자세한 정보를 제공합니다. 오류 조사에 대한 자세한 내용은 부하 테스트 실패 진단을 참조하세요.

여기에 설명된 단계에 따라 CSV 로그 파일에서 Apache JMeter 대시보드를 생성할 수 있습니다.

필수 조건

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

테스트 결과 파일 형식

Azure Load Testing은 각 테스트 엔진 인스턴스에 대한 테스트 결과 CSV 파일을 생성합니다. 부하 테스트를 스케일 아웃하는 방법을 알아봅니다.

Azure Load Testing은 Apache JMeter CSV 로그 형식을 사용합니다. 다양한 필드에 대한 자세한 내용은 Apache JMeter 설명서의 JMeter 용어집을 참조하세요.

부하 테스트 실행에 대한 각 애플리케이션 요청의 세부 정보는 테스트 결과 파일에서 찾을 수 있습니다. 다음 코드 조각은 샘플 테스트 결과를 보여 줍니다.

timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,URL,Latency,IdleTime,Connect
1676040230680,104,Homepage,200,OK,172.18.33.7-Thread Group 1-5,text,true,,1607,133,5,5,https://www.example.com/,104,0,100
1676040230681,101,Homepage,200,OK,172.18.33.7-Thread Group 1-3,text,true,,1591,133,5,5,https://www.example.com/,101,0,93
1676040230680,101,Homepage,200,OK,172.18.33.7-Thread Group 1-1,text,true,,1591,133,5,5,https://www.example.com/,98,0,94

부하 테스트 결과 액세스 및 다운로드

부하 테스트 실행이 완료되면 Azure Portal을 통해 또는 CI/CD 워크플로의 아티팩트로 부하 테스트 결과에 액세스하고 다운로드할 수 있습니다.

Important

엔진 인스턴스가 45개 이상이거나 테스트 실행 기간이 3시간을 넘는 부하 테스트의 경우 결과 파일을 다운로드할 수 없습니다. 원하는 데이터 저장소로 결과를 내보내도록 JMeter 백 엔드 수신기를 구성하거나 스토리지 계정 컨테이너에서 결과를 복사할 수 있습니다.

Azure Portal에서 테스트 실행에 대한 테스트 결과를 다운로드하려면 다음을 수행합니다.

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

  2. 왼쪽 창에서 테스트를 선택하여 테스트 목록을 확인한 다음, 테스트를 선택합니다.

    Screenshot that shows the list of tests for an Azure Load Testing resource.

    목록에 표시할 테스트 수를 제한하려면 검색 상자와 시간 범위 필터를 사용할 수 있습니다.

  3. 다음 두 가지 방법 중 하나로 테스트 결과 파일을 압축된 폴더로 다운로드할 수 있습니다.

    • 작업 중인 부하 테스트 실행 옆에 있는 줄임표(...)를 선택한 다음, 결과 파일 다운로드를 선택합니다.

      Screenshot that shows how to download the results file for a load test run.

      참고 항목

      부하 테스트 실행에는 결과 파일을 다운로드할 수 있도록 완료, 중지 또는 실패 상태가 있어야 합니다.

    • 테스트 실행 세부 정보 창에서 다운로드를 선택한 다음, 결과를 선택합니다.

      Screenshot that shows how to download the test results from the 'Test run details' pane.

  4. zip 도구를 사용하여 폴더를 추출하고 테스트 결과에 액세스할 수 있습니다.

    Screenshot that shows the test results zip file in the downloads list.

    폴더에는 모든 테스트 엔진에 대한 별도의 CSV 파일이 포함되어 있으며 부하 테스트 중에 테스트 엔진이 실행한 요청에 대한 세부 정보가 포함되어 있습니다.

JMeter 백 엔드 수신기를 사용하여 테스트 결과 내보내기

JMeter 백 엔드 수신기를 사용하여 테스트 결과를 InfluxDB, MySQL 같은 모니터링 도구 또는 Azure Application Insights와 같은 데이터베이스로 내보낼 수 있습니다.

기본 JMeter 백 엔드 수신기, jmeter-plugins.org 백 엔드 수신기 또는 JAR(Java Archive) 파일 형식의 사용자 지정 백 엔드 수신기를 사용할 수 있습니다.

다음 코드 조각은 JMX(JMeter 파일)에서 Azure Application Insights에 백 엔드 수신기를 사용하는 방법의 예를 보여 줍니다.

<BackendListener guiclass="BackendListenerGui" testclass="BackendListener" testname="Backend Listener" enabled="true">
  <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
    <collectionProp name="Arguments.arguments">
      <elementProp name="testName" elementType="Argument">
        <stringProp name="Argument.name">testName</stringProp>
        <stringProp name="Argument.value">jmeter</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="connectionString" elementType="Argument">
        <stringProp name="Argument.name">connectionString</stringProp>
        <stringProp name="Argument.value">Enter your AppInsights connection string</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="liveMetrics" elementType="Argument">
        <stringProp name="Argument.name">liveMetrics</stringProp>
        <stringProp name="Argument.value">true</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="samplersList" elementType="Argument">
        <stringProp name="Argument.name">samplersList</stringProp>
        <stringProp name="Argument.value"></stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="useRegexForSamplerList" elementType="Argument">
        <stringProp name="Argument.name">useRegexForSamplerList</stringProp>
        <stringProp name="Argument.value">false</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="logResponseData" elementType="Argument">
        <stringProp name="Argument.name">logResponseData</stringProp>
        <stringProp name="Argument.value">OnFailure</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="logSampleData" elementType="Argument">
        <stringProp name="Argument.name">logSampleData</stringProp>
        <stringProp name="Argument.value">OnFailure</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
    </collectionProp>
  </elementProp>
  <stringProp name="classname">io.github.adrianmo.jmeter.backendlistener.azure.AzureBackendClient</stringProp>
</BackendListener>

Azure Application Insights 백 엔드 수신기를 사용하는 예제를 전체 다운로드할 수 있습니다.

스토리지 계정 컨테이너에서 테스트 아티팩트 복사

Important

부하 테스트의 엔진 인스턴스 수가 45개보다 많거나 테스트 실행 기간이 3시간보다 긴 경우에만 스토리지 계정 컨테이너에서 테스트 아티팩트를 복사할 수 있습니다.

스토리지 계정에서 테스트 실행에 대한 테스트 결과 및 로그 파일을 복사하려면 Azure Portal에서 다음을 수행합니다.

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

  2. 왼쪽 창에서 테스트를 선택하여 테스트 목록을 확인한 다음, 테스트를 선택합니다.

    Screenshot that shows the list of tests for an Azure Load Testing resource.

  3. 테스트 실행 목록에서 테스트 실행을 선택합니다.

    Screenshot that shows the list of test runs for a test in an Azure Load Testing resource.

    목록에 표시할 테스트 수를 제한하려면 검색 상자와 시간 범위 필터를 사용할 수 있습니다.

  4. 테스트 실행 세부 정보 창에서 아티팩트 복사를 선택합니다.

    Screenshot that shows how to copy the test artifacts from the 'Test run details' pane.

    참고 항목

    부하 테스트 실행에는 결과 파일을 다운로드할 수 있도록 완료, 중지 또는 실패 상태에 있어야 합니다.

  5. 스토리지 계정 컨테이너의 SAS URL을 복사합니다.

    Azure Storage Explorer 또는 AzCopy에서 SAS URL을 사용하여 테스트 실행의 결과 CSV 파일 및 로그 파일을 스토리지 계정에 복사할 수 있습니다.

    SAS URL은 생성된 시간부터 60분 동안 유효합니다. URL이 만료되면 아티팩트 복사를 선택하여 새 SAS URL을 생성합니다.