타사 도구에서 사용하기 위해 Azure Load Testing에서 테스트 결과 내보내기
이 문서에서는 Azure Load Testing 테스트 결과 및 보고서를 내보내는 방법을 알아봅니다. 결과는 Azure portal을 사용하여 CI/CD 워크플로우 아티팩트로, 백엔드 수신기를 사용하여 JMeter 아티팩트로, 또는 Azure Storage 계정에서 복사하여 다운로드할 수 있습니다. 타사 도구에서 보고하거나 테스트 실패를 진단하는 데 이러한 결과를 사용할 수 있습니다. Azure Load Testing은 CSV(쉼표로 구분된 값) 파일 형식으로 테스트 결과를 생성하고 부하 테스트에 대한 각 애플리케이션 요청의 세부 정보를 제공합니다.
테스트 결과를 사용하여 부하 테스트 중에 오류를 진단할 수도 있습니다. responseCode
및 responseMessage
필드는 실패한 요청에 대한 자세한 정보를 제공합니다. 오류 조사에 대한 자세한 내용은 부하 테스트 실패 진단을 참조하세요.
여기에 설명된 단계에 따라 CSV 로그 파일에서 Apache JMeter 대시보드를 생성할 수 있습니다.
오프라인 보기 및 협업을 위해 Azure Load Testing 결과 대시보드를 HTML 보고서로 다운로드할 수도 있습니다.
필수 조건
- 활성 구독이 있는 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 워크플로의 아티팩트로 부하 테스트 결과와 HTML 보고서에 액세스하고 다운로드할 수 있습니다.
Important
엔진 인스턴스가 45개 이상이거나 테스트 실행 기간이 3시간을 넘는 부하 테스트의 경우 결과 파일을 다운로드할 수 없습니다. 원하는 데이터 저장소로 결과를 내보내도록 JMeter 백 엔드 수신기를 구성하거나 스토리지 계정 컨테이너에서 결과를 복사할 수 있습니다. 30개보다 많은 샘플러를 사용한 테스트의 경우 다운로드한 HTML 보고서에는 모든 샘플러를 집계한 데이터에 대한 그래프만 포함됩니다. 그래프에 샘플러별 데이터는 표시되지 않습니다. 또한 다운로드한 보고서는 서버 쪽 메트릭에 해당하는 그래프를 지원하지 않습니다.
Azure Portal에서 테스트 실행에 대한 테스트 결과 및 HTML 보고서를 다운로드하려면 다음을 수행합니다.
Azure Portal에서 Azure Load Testing 리소스로 이동합니다.
왼쪽 창에서 테스트를 선택하여 테스트 목록을 확인한 다음, 테스트를 선택합니다.
팁
목록에 표시할 테스트 수를 제한하려면 검색 상자와 시간 범위 필터를 사용할 수 있습니다.
다음 두 가지 방법 중 하나로 테스트 결과 파일을 압축된 폴더로 다운로드할 수 있습니다.
작업 중인 부하 테스트 실행 옆에 있는 줄임표(...)를 선택한 다음, 결과 파일 다운로드를 선택합니다.
참고 항목
부하 테스트 실행에는 결과 파일을 다운로드할 수 있도록 완료, 중지 또는 실패 상태가 있어야 합니다.
테스트 실행 세부 정보 창에서 다운로드를 선택합니다. 결과를 다운로드하려면 결과를 선택합니다. HTML 보고서를 다운로드하려면 보고서를 선택합니다.
임의의 zip 도구를 사용하여 폴더를 추출하고 다운로드한 파일에 액세스할 수 있습니다.
결과 폴더에는 모든 테스트 엔진에 대한 별도의 CSV 파일이 포함되어 있으며 부하 테스트 중에 테스트 엔진이 실행한 요청에 대한 세부 정보가 포함되어 있습니다.
보고서 폴더에는 테스트 실행 요약과 오프라인 보기 및 협업을 위한 성능 메트릭 그래프를 제공하는 HTML 파일이 포함되어 있습니다.
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에서 다음을 수행합니다.
Azure Portal에서 Azure Load Testing 리소스로 이동합니다.
왼쪽 창에서 테스트를 선택하여 테스트 목록을 확인한 다음, 테스트를 선택합니다.
테스트 실행 목록에서 테스트 실행을 선택합니다.
팁
목록에 표시할 테스트 수를 제한하려면 검색 상자와 시간 범위 필터를 사용할 수 있습니다.
테스트 실행 세부 정보 창에서 아티팩트 복사를 선택합니다.
참고 항목
부하 테스트 실행에는 결과 파일을 다운로드할 수 있도록 완료, 중지 또는 실패 상태에 있어야 합니다.
스토리지 계정 컨테이너의 SAS URL을 복사합니다.
Azure Storage Explorer 또는 AzCopy에서 SAS URL을 사용하여 테스트 실행의 결과 CSV 파일 및 로그 파일을 스토리지 계정에 복사할 수 있습니다.
SAS URL은 생성된 시간부터 60분 동안 유효합니다. URL이 만료되면 아티팩트 복사를 선택하여 새 SAS URL을 생성합니다.
관련 콘텐츠
- 부하 테스트 실패 진단에 대해 자세히 알아보세요.
- 여러 테스트 결과 비교에 대해 자세히 알아보세요.
- Azure Pipelines에서 자동화된 성능 테스트를 구성하는 방법에 대해 자세히 알아봅니다.