Azure Load Testing에서 실패한 부하 테스트 진단
이 문서에서는 Azure Load Testing에서 실패한 부하 테스트를 진단하고 문제를 해결하는 방법을 알아봅니다. Azure Load Testing은 부하 테스트 실패의 근본 원인을 식별하는 몇 가지 옵션을 제공합니다. 예를 들어 부하 테스트 대시보드를 사용하거나 심층 분석을 위해 테스트 결과 또는 테스트 로그 파일을 다운로드할 수 있습니다. 또는 애플리케이션 엔드포인트와 관련된 문제를 식별하도록 서버 쪽 메트릭을 구성합니다.
Azure Load Testing은 두 가지 지표를 사용하여 부하 테스트의 결과를 확인합니다.
테스트 상태: 부하 테스트가 성공적으로 시작되고 끝날 때까지 테스트 스크립트를 실행할 수 있는지 여부를 나타냅니다. 예를 들어 JMeter 테스트 스크립트에 오류가 있거나 너무 많은 요청이 실패하여 autostop 수신기가 부하 테스트를 중단한 경우 테스트 상태 실패합니다.
테스트 결과: 테스트 실패 조건을 평가한 결과를 나타냅니다. 테스트 실패 조건 중 하나 이상이 충족되면 테스트 결과가 실패로 설정됩니다.
지표에 따라 다른 방법을 사용하여 테스트 실패의 근본 원인을 식별할 수 있습니다.
필수 조건
- 활성 구독이 있는 Azure 계정. Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.
- 완료된 테스트 실행이 있는 Azure 부하 테스트 리소스입니다. Azure 부하 테스트 리소스를 만들어야 하는 경우 부하 테스트 만들기 및 실행을 참조하세요.
부하 테스트의 결과 결정
부하 테스트의 결과를 얻으려면 다음 단계를 사용합니다.
Azure Portal에서 부하 테스트 리소스로 이동합니다.
왼쪽 창에서 테스트를 선택하여 테스트 목록을 봅니다.
목록에서 테스트를 선택하여 해당 테스트에 대한 모든 테스트 실행을 봅니다.
테스트 실행 목록에는 테스트 결과 및 테스트 상태 필드가 표시됩니다.
또는 테스트 실행을 선택하여 테스트 실행에 대한 부하 테스트 대시보드를 봅니다.
테스트 실패 진단
Azure Load Testing이 테스트 스크립트를 실행하고 완료할 수 있었는지 여부에 따라 부하 테스트 실패를 진단하는 다른 방법을 사용할 수 있습니다.
부하 테스트를 완료하지 못했습니다.
부하 테스트가 완료되지 않으면 테스트 실행의 테스트 상태 실패로 설정됩니다.
여러 가지 이유로 인해 부하 테스트를 완료하지 못할 수 있습니다. 부하 테스트가 완료되지 않는 이유의 예:
- JMeter 테스트 스크립트에 오류가 있습니다.
- 테스트 스크립트는 Azure Load Testing에서 지원하지 않는 JMeter 기능을 사용합니다. 지원되는 JMeter 기능에 대해 알아봅니다.
- 테스트 스크립트는 테스트 엔진 인스턴스에서 사용할 수 없는 파일 또는 플러그 인을 참조합니다.
- 너무 많은 요청이 실패하고 오류 속도가 임계값을 초과하여 자동 중단 기능이 부하 테스트를 중단했습니다. Azure Load Testing의 자동 중단 기능에 대해 자세히 알아봅니다.
다음 단계를 사용하여 테스트가 완료되지 않음을 진단할 수 있습니다.
- 부하 테스트 대시보드에서 오류 세부 정보를 확인합니다.
- 테스트 로그 를 다운로드하고 분석하여 JMeter 테스트 스크립트에서 문제를 식별합니다.
- 테스트 결과를 다운로드하여 개별 요청과 관련된 문제를 식별합니다.
부하 테스트 완료
부하 테스트는 끝날 때까지 테스트 스크립트를 실행할 수 있지만(테스트 상태 완료됨) 모든 테스트 실패 조건을 통과하지 못할 수 있습니다. 테스트 조건 중 하나 이상이 통과 하지 못하면 테스트 실행의 테스트 결과가 실패로 설정됩니다.
다음 단계를 사용하여 테스트 조건을 충족하지 못하는 테스트를 진단할 수 있습니다.
- 부하 테스트 대시보드에서 테스트 실패 조건을 검토합니다.
- 부하 테스트 대시보드에서 샘플러 통계를 검토하여 테스트 스크립트에서 문제를 일으킬 수 있는 요청을 추가로 식별합니다.
- 부하 테스트 대시보드에서 클라이언트 쪽 메트릭을 검토합니다. 필요에 따라 필터 컨트롤을 사용하여 특정 요청에 대한 차트를 필터링할 수 있습니다.
- 테스트 결과를 다운로드하여 개별 요청에 대한 오류 정보를 가져옵니다.
- 테스트 엔진 상태 메트릭을 확인하여 테스트 엔진에서 가능한 리소스 경합을 식별합니다.
- 필요에 따라 앱 구성 요소를 추가하고 서버 쪽 메트릭을 모니터링하여 애플리케이션 엔드포인트의 성능 병목 상태를 식별합니다.
부하 테스트에 대한 Apache JMeter 작업자 로그 다운로드
부하 테스트를 실행하면 Azure Load Testing 테스트 엔진이 Apache JMeter 테스트 스크립트를 실행합니다. 부하 테스트 중에 Apache JMeter는 작업자 노드 로그에 자세한 로깅을 저장합니다. Azure Portal에서 각 테스트 실행에 대해 이러한 JMeter 작업자 로그를 다운로드할 수 있습니다. Azure Load Testing은 각 테스트 엔진 인스턴스에 대한 작업자 로그를 생성합니다.
참고 항목
Azure Load Testing은 작업자 로그의 수준이나 ERROR
로그 메시지 WARN
만 기록합니다.
예를 들어 JMeter 스크립트에 문제가 있는 경우 부하 테스트 상태 실패합니다. 작업자 로그에서 문제의 원인에 대한 추가 정보를 찾을 수 있습니다.
Azure Load Testing 테스트 실행을 위한 작업자 로그를 다운로드하려면 다음 단계를 수행합니다.
Azure Portal에서 Azure Load Testing 리소스로 이동합니다.
테스트를 선택하여 테스트 목록을 확인한 다음 목록에서 부하 테스트를 선택합니다.
테스트 실행 목록에서 테스트 실행을 선택하여 부하 테스트 대시보드를 봅니다.
대시보드에서 다운로드를 선택한 다음, 로그를 선택합니다.
이제 브라우저에서 각 테스트 엔진 인스턴스에 대한 JMeter 작업자 노드 로그 파일이 포함된 압축된 폴더 다운로드를 시작해야 합니다.
zip 도구를 사용하여 폴더를 추출하고 로그 파일에 액세스할 수 있습니다.
worker.log 파일은 부하 테스트 실패의 근본 원인을 진단하는 데 도움이 될 수 있습니다. 스크린샷에서 누락된 파일로 인해 테스트가 실패했음을 확인할 수 있습니다.