.NET용 Azure Load Testing 클라이언트 라이브러리 - 버전 1.0.1
Azure Load Testing은 Azure Load Testing 서비스와 기본적으로 상호 작용할 수 있는 사용자에게 .NET의 클라이언트 라이브러리를 제공합니다. Azure Load Testing은 대규모 부하를 생성할 수 있는 완전 관리형 부하 테스트 서비스입니다. 이 서비스는 호스팅되는 위치에 관계없이 애플리케이션에 대한 트래픽을 시뮬레이션합니다. 개발자, 테스터 및 QA(품질 보증) 엔지니어는 이를 사용하여 애플리케이션 성능, 확장성 또는 용량을 최적화할 수 있습니다.
소스 코드 | 패키지(NuGet) | API 참조 설명서 | 제품 설명서
설명서
시작하는 데 도움이 되는 다양한 설명서를 사용할 수 있습니다.
시작
패키지 설치
NuGet을 사용하여 .NET용 클라이언트 라이브러리를 설치합니다.
dotnet add package Azure.Developer.LoadTesting
필수 구성 요소
Azure 구독 및 Azure Load Test Service 리소스가 있어야 합니다. C# 8.0 구문을 활용하려면 언어 버전latest
이 인 .NET Core SDK 3.0 이상을 사용하여 컴파일하는 것이 좋습니다. 의 언어 버전을 사용하여 .NET Core SDK 2.1.x로 컴파일할 수도 있습니다 preview
.
클라이언트 인증
AAD(Azure Active Directory) 토큰 자격 증명을 사용하려면 azure-identity 라이브러리에서 가져온 원하는 자격 증명 형식의 instance 제공합니다.
AAD를 사용하여 인증하려면 먼저 nuget 설치를 사용해야 합니다. azure-identity
설치 후 사용할 Azure.Identity에서 자격 증명 유형을 선택할 수 있습니다.
예를 들어 Azure CLI az login
명령을 통해 로그인하면 DefaultAzureCredential 이 해당 사용자로 인증됩니다.
반환된 토큰 자격 증명을 사용하여 클라이언트를 인증합니다.
주요 개념
다음 구성 요소는 Azure Load Testing 서비스를 구성합니다. C#용 Azure Load Test 클라이언트 라이브러리를 사용하면 클라이언트를 사용하여 이러한 각 구성 요소와 상호 작용할 수 있습니다. 두 개의 클라이언트가 있습니다.
LoadTestAdministrationClient
LoadTestRunClient
이러한 클라이언트는 서비스의 다양한 구성 요소를 관리하고 사용하는 데 사용됩니다. 이러한 하위 클라이언트의 각 메서드에는 동일한 클래스에 해당하는 Async 메서드가 있지만 동일한 구현을 통해 비동기 기능을 사용하도록 설정합니다. 예를 들어 메서드 CreateOrUpdateTest
가 있는 경우 의 LoadTestAdministrationClient
일부로 동일한 클라이언트 클래스에 함수가 하나 더 CreateOrUpdateTestAsync
있습니다.
부하 테스트 관리 클라이언트
클라이언트는 LoadTestAdministrationClient
부하 테스트, 앱 구성 요소 및 메트릭을 관리하고 구성하는 데 사용됩니다.
테스트
테스트는 부하 테스트를 실행하기 위한 테스트 스크립트 및 구성 설정을 지정합니다. Azure Load Testing 리소스에서 하나 이상의 테스트를 만들 수 있습니다.
앱 구성 요소
Azure 호스트 애플리케이션에 대한 부하 테스트를 실행하는 경우 다양한 Azure 애플리케이션 구성 요소에 대한 리소스 메트릭(서버 쪽 메트릭)을 모니터링할 수 있습니다. 부하 테스트가 실행되는 동안 및 테스트가 완료된 후 Azure Load Testing 대시보드에서 리소스 메트릭을 모니터링하고 분석할 수 있습니다.
메트릭
부하 테스트 중에 Azure Load Testing은 테스트 실행에 대한 메트릭을 수집합니다. 다음과 같이 두 가지 유형의 메트릭이 있습니다.
클라이언트 쪽 메트릭은 테스트 엔진에서 보고한 세부 정보를 제공합니다. 이러한 메트릭에는 가상 사용자 수, 요청 응답 시간, 실패한 요청 수 또는 초당 요청 수가 포함됩니다.
서버 쪽 메트릭은 Azure 호스트 애플리케이션에 사용할 수 있으며 Azure 애플리케이션 구성 요소에 대한 정보를 제공합니다. 메트릭은 데이터베이스 읽기 수, HTTP 응답 유형 또는 컨테이너 리소스 사용량에 대한 것일 수 있습니다.
클라이언트 실행 테스트
클라이언트는 LoadTestRunClient
부하 테스트에 해당하는 테스트 실행을 시작하고 중지하는 데 사용됩니다. 테스트 실행은 부하 테스트를 한 번 실행하는 것을 나타냅니다. Apache JMeter 스크립트 실행, 부하 테스트 YAML 구성, 모니터링할 앱 구성 요소 목록 및 테스트 결과와 관련된 로그를 수집합니다.
Data-Plane 엔드포인트
Azure Load Testing 리소스의 데이터 평면은 다음 URL 형식을 사용하여 주소 지정이 가능합니다.
00000000-0000-0000-0000-000000000000.aaa.cnt-prod.loadtesting.azure.com
첫 번째 GUID 00000000-0000-0000-0000-000000000000
는 Azure Load Testing 리소스에 액세스하는 데 사용되는 고유 식별자입니다. 그 다음에 aaa
는 리소스의 Azure 지역이 표시됩니다.
데이터 평면 엔드포인트는 컨트롤 플레인 API에서 가져옵니다.
예제:1234abcd-12ab-12ab-12ab-123456abcdef.eus.cnt-prod.loadtesting.azure.com
위의 예제에서 은 eus
Azure 지역 East US
을 나타냅니다.
예제
샘플을 사용하여 다양한 API를 숙지할 수 있습니다.
문제 해결
그것에 대한 자세한 내용은 곧 오고있다 ...
스레드로부터의 안전성
모든 클라이언트 instance 메서드는 스레드로부터 안전하고 서로 독립적임을 보장합니다(지침). 이렇게 하면 스레드 간에 클라이언트 인스턴스를 다시 사용하는 것이 항상 안전합니다.
다음 단계
샘플을 시작하세요.
참여
템플릿이지만 SDK 추가 정보에는 리포지토리/패키지에 코드를 제공하는 방법에 대한 세부 정보가 포함되어야 합니다.
추가 개념
Azure SDK for .NET