테스트는 부하 테스트를 실행하기 위한 테스트 스크립트 및 구성 설정을 지정합니다. Azure Load Testing 리소스에서 하나 이상의 테스트를 만들 수 있습니다.
부하 테스트의 구성은 다음으로 구성됩니다.
테스트 이름 및 설명입니다.
Apache JMeter 테스트 스크립트 및 관련 데이터 및 구성 파일. 예를 들어 CSV 데이터 파일입니다.
테스트 스크립트를 실행할 테스트 엔진 수입니다.
테스트의 통과/불합격 기준 입니다.
테스트 실행 중에 모니터링할 앱 구성 요소 및 리소스 메트릭 목록입니다.
Azure Load Testing에서 부하 테스트 만들기와 파일 업로드는 분리됩니다(즉, 별도의 API 작업). 이 섹션에서는 부하 테스트를 만드는 데 관련된 단계를 보여 줍니다.
여기에 설명된 대로 Azure Load Testing 리소스에 대한 엔드포인트 또는 데이터 평면 URI를 가져옵니다.
새 테스트 만들기
PATCH https://{Endpoint}/tests/{testId}?api-version=2022-11-01이 서명을 사용하여 요청하는 클라이언트의 경우 부하 테스트 관리 - 테스트 만들기 또는 업데이트 작업이 실행됩니다.
이 서명을 사용하여 이루어진 요청에 대한 성공적인 응답은 다음과 유사합니다.
{ "description": "sample description", "displayName": "Performance_LoadTest", "loadTestConfiguration": { "engineInstances": 6, "splitAllCSVs": true }, "passFailCriteria": { "passFailMetrics": { "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { "clientMetric": "response_time_ms", "aggregate": "percentage", "condition": ">", "value": 20, "action": "continue" } } }, "secrets": { "secret1": { "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", "type": "AKV_SECRET_URI" } }, "environmentVariables": { "envvar1": "sampletext" }, "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", "keyvaultReferenceIdentityType": "UserAssigned", "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/sampleprovider/sampleresourcetype/sampleresourcename" }이렇게 하면 테스트 이름, 설명, 비밀, 환경 변수, 엔진 수 및 통과/실패 기준과 같은 테스트 세부 정보가 업데이트됩니다.
생성된 테스트에 파일 업로드
PUT https://{Endpoint}/tests/{testId}/files/{fileName}?api-version=2022-11-01또는
PUT https://{Endpoint}/tests/{testId}/files/{fileName}?fileType={fileType}&api-version=2022-11-01이 서명을 사용하여 요청하는 클라이언트의 경우 부하 테스트 관리 - 테스트 파일 업로드 작업이 실행됩니다.
비고
각 PUT 호출은 업로드할 파일을 1개만 지원합니다. 동일한 통화에서 여러 파일이 업로드되면 첫 번째 파일을 제외한 모든 파일이 삭제됩니다. 요구 사항에 따라 JMX 스크립트, ZIP 파일, CSV 파일, user.properties 등과 같이 각각에 대해 하나씩 여러 번 호출해야 할 수도 있습니다.
업로드된 JMX 파일은 XML 규범을 준수하고 유효한 JMeter 스크립트인지 검증됩니다. validationStatus 필드는 유효성 검사의 상태를 표시합니다. JMeter가 오류 없이 JMX 스크립트를 수락할 수 있는 경우 "VALIDATION_SUCCESS"로 간주되고 파일이 부하 테스트와 성공적으로 연결됩니다. 이후의 모든 테스트 실행은 이 파일을 사용합니다.
이 서명을 사용하여 이루어진 요청에 대한 성공적인 응답은 다음과 유사합니다.
{ "url": "https://dummyurl.com/testscriptresource", "fileName": "sample.jmx", "fileType": "ADDITIONAL_ARTIFACTS", "expireDateTime": "2021-12-05T16:43:46.072Z", "validationStatus": "VALIDATION_SUCCESS" }다음 단계를 사용하여 서버 측 메트릭을 모니터링하기 위해 테스트에서 앱 구성 요소를 구성합니다.
PATCH https://{Endpoint}/tests/{testId}/app-components?api-version=2022-11-01이 서명을 사용하여 요청하는 클라이언트의 경우 부하 테스트 관리 - 앱 구성 요소 만들기 또는 업데이트 작업이 실행됩니다. 요청 본문에는 testId 또는 testRunId가 포함되어야 합니다.
이 서명을 사용하여 이루어진 요청에 대한 성공적인 응답은 다음과 유사합니다.
{ "testId": "12345678-1234-1234-1234-123456789012", "components": { "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", "resourceType": "microsoft.insights/components", "resourceName": "appcomponentresource", "displayName": "Performance_LoadTest_Insights", "resourceGroup": "samplerg", "subscriptionId": "00000000-0000-0000-0000-000000000000", "kind": "web" } }, "createdDateTime": "2021-12-05T16:43:46.072Z", "createdBy": "user@contoso.com", "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", "lastModifiedBy": "user@contoso.com" }