Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dowiedz się, jak skonfigurować test obciążeniowy w usłudze Azure Load Testing przy użyciu języka YAML. Plik YAML konfiguracji testu służy do tworzenia i uruchamiania testów obciążeniowych z przepływu pracy ciągłej integracji i ciągłego dostarczania (CI/CD).
Składnia YAML testu obciążeniowego
Konfiguracja testu obciążeniowego używa następujących kluczy:
| Klawisz | Typ | Required | Wartość domyślna | Opis |
|---|---|---|---|---|
version |
ciąg | Y | Wersja specyfikacji testu obciążeniowego. Jedyną obsługiwaną wartością jest v0.1. |
|
testId |
ciąg | Y | Unikatowy identyfikator testu obciążeniowego. Wartość musi zawierać się od 2 do 50 znaków ([a-z0-9_-]). W przypadku istniejącego testu możesz pobrać element testId ze strony szczegółów testu w witrynie Azure Portal. |
|
testName |
ciąg | N |
Przestarzałe. Unikatowy identyfikator testu obciążeniowego. To ustawienie jest zastępowane przez testId. Nadal można uruchamiać istniejące testy przy użyciu testName pola . |
|
displayName |
ciąg | N | Nazwa wyświetlana testu. Ta wartość jest wyświetlana na liście testów w witrynie Azure Portal. Jeśli nie zostanie podana, testId zostanie użyta jako nazwa wyświetlana. |
|
description |
ciąg | N | Krótki opis testu. Wartość ma maksymalną długość 100 znaków. | |
testType |
ciąg | Y | Typ testu. Możliwe wartości:
|
|
testPlan |
ciąg | Y | Odwołanie do pliku planu testu.
|
|
engineInstances |
liczba całkowita | Y | Liczba wystąpień aparatu testów równoległych na potrzeby uruchamiania planu testów. Dowiedz się więcej o konfigurowaniu obciążenia na dużą skalę. | |
configurationFiles |
tablica ciągów znaków | N | Lista plików zewnętrznych wymaganych przez skrypt testowy. Na przykład pliki fragmentów JMX, pliki danych CSV, obrazy lub dowolny inny plik danych. Testowanie obciążenia platformy Azure przekazuje wszystkie pliki w tym samym folderze co skrypt testowy. W skryscie JMeter lub skrycie Locust odwołują się tylko do plików zewnętrznych przy użyciu nazwy pliku i usuń wszystkie informacje o ścieżce pliku. |
|
failureCriteria |
obiekt | N | Kryteria niepowodzenia testu obciążeniowego. Zobacz failureCriteria , aby uzyskać więcej szczegółów. | |
autoStop |
ciąg lub obiekt | N | Automatycznie zatrzymaj test obciążeniowy, gdy wartość procentowa błędu przekracza wartość. Możliwe wartości: - disable: nie zatrzymaj testu obciążeniowego automatycznie.- object: zobacz autostop configuration (Konfiguracja automatycznego zatrzymania ), aby uzyskać więcej szczegółów. |
|
properties |
obiekt | N |
|
|
zipArtifacts |
tablica ciągów znaków | N | Określa listę plików artefaktów zip. W przypadku plików innych niż główny skrypt testowy i właściwości użytkownika dla testów opartych na JMeter oraz skryptu locust i plików konfiguracji dla testów opartych na locust, jeśli rozmiar pliku przekracza 50 MB, skompresuj je do pliku ZIP. Upewnij się, że plik ZIP pozostaje poniżej 50 MB rozmiaru. Tylko 5 artefaktów ZIP jest dozwolonych z maksymalnie 1000 plików w każdym i nieskompresowanym rozmiarze 1 GB. Dotyczy tylko i testType: JMXtestType: Locust. |
|
splitAllCSVs |
typ logiczny (boolowski) | N | Nieprawda | Podziel wejściowe pliki CSV równomiernie we wszystkich wystąpieniach aparatu testowego. Aby uzyskać więcej informacji, zobacz Odczyt pliku CSV w testach obciążeniowych. |
secrets |
obiekt | N | Lista wpisów tajnych, do których odwołuje się skrypt Apache JMeter lub Locust. Aby uzyskać więcej informacji, zobacz wpisy tajne . | |
env |
obiekt | N | Lista zmiennych środowiskowych, do których odwołuje się skrypt Apache JMeter lub locust. Aby uzyskać więcej informacji, zobacz zmienne środowiskowe . | |
certificates |
obiekt | N | Lista certyfikatów klienta do uwierzytelniania za pomocą punktów końcowych aplikacji w skry skrycie JMeter lub Locust. Aby uzyskać więcej informacji, zobacz certyfikaty . | |
appComponents |
obiekt | N | Lista zasobów serwera -side do monitorowania podczas testu obciążeniowego. Aby uzyskać więcej informacji, zobacz appComponents.appComponents (AplikacjaComponents ). | |
subnetId |
ciąg | N | Identyfikator zasobu podsieci sieci wirtualnej do testowania prywatnych punktów końcowych. Ta podsieć hostuje wstrzyknięte maszyny wirtualne aparatu testowego. Aby uzyskać więcej informacji, zobacz jak testować prywatnie hostowane punkty końcowe. | |
publicIPDisabled |
typ logiczny (boolowski) | N | Wyłącz wdrażanie publicznego adresu IP, modułu równoważenia obciążenia i sieciowej grupy zabezpieczeń podczas testowania prywatnego punktu końcowego. Aby uzyskać więcej informacji, zobacz jak testować prywatnie hostowane punkty końcowe. | |
regionalLoadTestConfig |
obiekt | N | Dystrybuuj obciążenie między regionami, aby symulować ruch użytkowników z wielu regionów. Aby uzyskać więcej informacji, zobacz regionalną konfigurację testu obciążeniowego, aby uzyskać więcej informacji. | |
referenceIdentities |
obiekt | N | Lista tożsamości zarządzanych używanych w teście na potrzeby uzyskiwania dostępu do wpisów tajnych z usługi Azure Key Vault, metryki kryteriów niepowodzenia po stronie serwera i uwierzytelniania punktów końcowych. Aby uzyskać więcej informacji, zobacz referenceIdentities (Dokumentacja ). |
Przykład konfiguracji testu obciążeniowego
Poniższy fragment kodu YAML zawiera przykładową konfigurację testu obciążeniowego.
version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
subnetId: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.Network/virtualNetworks/load-testing-vnet/subnets/load-testing
configurationFiles:
- 'sampledata.csv'
- 'testfragment.jmx'
zipArtifacts:
- bigdata.zip
splitAllCSVs: True
failureCriteria:
- avg(response_time_ms) > 300
- percentage(error) > 50
- GetCustomerDetails: avg(latency) >200
autoStop:
errorPercentage: 80
timeWindow: 60
secrets:
- name: my-secret
value: https://akv-contoso.vault.azure.net/secrets/MySecret/abc1234567890def12345
keyVaultReferenceIdentity: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sample-identity
failureCriteria konfiguracja
Kryteria testu niepowodzenia umożliwiają zdefiniowanie warunków w celu określenia, czy przebieg testu obciążeniowego zakończył się pomyślnie, czy nie. Jeśli zostanie spełniony co najmniej jeden kryteria niepowodzenia, test otrzyma wynik testu, który zakończył się niepowodzeniem. Dowiedz się więcej o korzystaniu z kryteriów niepowodzenia testu obciążeniowego. Można zdefiniować kryteria niepowodzenia dotyczące metryk klienta, takich jak czas odpowiedzi, opóźnienie itp., oraz metryki po stronie serwera dla składników aplikacji po stronie serwera.
Metryki klienta
Można zdefiniować kryteria niepowodzenia, które mają zastosowanie do całego testu obciążeniowego lub które mają zastosowanie do określonego żądania. Kryteria niepowodzenia mają następującą strukturę:
- Kryteria testu na poziomie testu obciążeniowego:
Aggregate_function (client_metric) condition threshold. - Kryteria testu stosowane do określonych żądań:
Request: Aggregate_function (client_metric) condition threshold.
Testowanie obciążenia platformy Azure obsługuje następujące metryki klienta:
| Wskaźnik | Funkcja agregacji | Threshold | Condition | Opis |
|---|---|---|---|---|
response_time_ms |
avg (średnia)min (minimum)max (maksimum)pxx (percentyl), xx może być 50, 75, 90, 95, 96, 97, 98, 99, 999 i 9999 |
Wartość całkowita reprezentująca liczbę milisekund (ms). |
> (większe niż)< (mniejsze niż) |
Czas odpowiedzi lub czas, który upłynął, w milisekundach. Dowiedz się więcej o upływie czasu w dokumentacji narzędzia Apache JMeter. |
latency |
avg (średnia)min (minimum)max (maksimum)pxx (percentyl), xx może być 50, 90, 95, 99 |
Wartość całkowita reprezentująca liczbę milisekund (ms). |
> (większe niż)< (mniejsze niż) |
Opóźnienie ( w milisekundach). Dowiedz się więcej o opóźnieniu w dokumentacji narzędzia Apache JMeter. |
error |
percentage |
Wartość liczbowa w zakresie od 0 do 100, reprezentująca wartość procentową. |
> (większe niż) |
Procent żądań, które zakończyły się niepowodzeniem. |
requests_per_sec |
avg (średnia) |
Wartość liczbowa z maksymalnie dwoma miejscami dziesiętnymi. |
> (większe niż) < (mniejsze niż) |
Liczba żądań na sekundę. |
requests |
count |
Wartość całkowita. |
> (większe niż) < (mniejsze niż) |
Łączna liczba żądań. |
Metryki po stronie serwera
Kryteria niepowodzenia można zdefiniować w metrykach po stronie serwera dla składników aplikacji po stronie serwera.
W poniższej serverMetrics: tabeli opisano różne pola w konfiguracji:
| Parameter | Opis |
|---|---|
resourceId |
To jest wymagane. Identyfikator zasobu składnika aplikacji, na którym należy zastosować kryteria |
metricNamespace |
To jest wymagane. Przestrzeń nazw metryki po stronie serwera. |
metricName |
To jest wymagane. Metryki po stronie serwera, na których należy zastosować kryteria. |
aggregation |
To jest wymagane. Agregacja do zastosowania w metrykach po stronie serwera. |
condition |
Opcjonalny. Operator porównania, taki jak greater than, lub less than. |
value |
To jest wymagane. Wartość liczbowa do porównania z metryki. |
Przykład konfiguracji kryteriów niepowodzenia
Poniższy fragment kodu przedstawia konfigurację testu obciążeniowego, która ma trzy kryteria niepowodzenia testu obciążeniowego.
version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
failureCriteria:
clientMetrics:
- avg(responseTimeMs) > 300
- percentage(error) > 50
- getCustomerDetails: avg(latency) > 200
serverMetrics:
- resourceId: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.Compute/virtualMachines/sample-vm
metricNamespace: Microsoft.Compute/virtualMachines
metricName: Percentage CPU
aggregation: Average
condition: GreaterThan
value: 80
- resourceId: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.Compute/virtualMachines/sample-vm
metricNamespace: Microsoft.Compute/virtualMachines
metricName: Available Memory
aggregation: Average
condition: LessThan
value: 20
appComponents konfiguracja
Zasoby po stronie serwera można monitorować podczas testu obciążeniowego. Dowiedz się więcej o monitorowaniu zasobów po stronie serwera. Po uruchomieniu testu obciążeniowego dla aplikacji hostowanej na platformie Azure usługa Azure Load Testing zbiera metryki zasobów dla składników aplikacji i przedstawia je na pulpicie nawigacyjnym testu obciążeniowego.
W poniższej appComponents: tabeli opisano różne pola w konfiguracji:
| Parameter | Opis |
|---|---|
resourceId |
To jest wymagane. Identyfikator zasobu składnika aplikacji, na którym należy zastosować kryteria. |
resourceName |
Opcjonalny. Nazwa zasobu, który ma być monitorowany. |
kind |
Opcjonalny. Rodzaj zasobu do monitorowania. |
metrics |
To jest wymagane. Lista metryk, które mają być monitorowane dla składnika aplikacji. Zawiera on nazwę, przestrzeń nazw i agregację dla metryki. |
Przykład konfiguracji składników aplikacji
Poniższy fragment kodu przedstawia konfigurację testu obciążeniowego, która ma dwa składniki aplikacji.
version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
appComponents:
- resourceId: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appComponentResource"
resourceName: appComponentResource #Optional
kind: web # Optional
metrics:
- name: "requests/duration"
namespace: microsoft.insights/components
aggregation: "Average"
- name: "requests/count"
aggregation: "Total"
namespace: microsoft.insights/components
- resourceId: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appComponentResource"
resourceName: appComponentResource #Optional
kind: web # Optional
metrics:
- name: "requests/duration"
aggregation: "Average"
namespace: microsoft.insights/components
- name: "requests/count"
aggregation: "Total"
namespace: microsoft.insights/components
autoStop konfiguracja
Funkcja automatycznego zatrzymywania testów obciążeniowych umożliwia automatyczne zatrzymywanie testu obciążeniowego, gdy wartość procentowa błędu przekracza określony próg w danym przedziale czasu. Dowiedz się więcej na temat funkcji automatycznego zatrzymania testu obciążeniowego.
| Klawisz | Typ | Wartość domyślna | Opis |
|---|---|---|---|
errorPercentage |
liczba całkowita | 90 | Próg wartości procentowej błędu w ciągu timeWindow. Jeśli wartość procentowa błędu przekracza tę wartość procentową w danym przedziale czasu, przebieg testu zostanie zatrzymany automatycznie. |
timeWindow |
liczba całkowita | 60 | Przedział czasu w sekundach do obliczenia wartości errorPercentage. |
Przykład konfiguracji automatycznego zatrzymania
Poniższy fragment kodu przedstawia konfigurację testu obciążeniowego, która ma trzy kryteria niepowodzenia testu obciążeniowego.
version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
autoStop:
errorPercentage: 80
timeWindow: 60
properties konfiguracja
Możesz określić plik właściwości użytkownika JMeter dla testu obciążeniowego. Plik właściwości użytkownika jest przekazywany wraz z planem testu i innymi plikami. Dowiedz się więcej o korzystaniu z właściwości użytkownika JMeter w usłudze Azure Load Testing.
| Klawisz | Typ | Wartość domyślna | Opis |
|---|---|---|---|
userPropertyFile |
ciąg | Plik do użycia jako plik właściwości użytkownika narzędzia Apache JMeter lub plik konfiguracji locust. W przypadku locust pliki z rozszerzeniami .conf, .ini i .toml są obsługiwane jako plik konfiguracji. Plik jest przekazywany do zasobu usługi Azure Load Testing wraz ze skryptem testowym i innymi plikami konfiguracji. Jeśli plik znajduje się w podfolderze na komputerze lokalnym, użyj ścieżki względem lokalizacji skryptu testowego. |
Przykład konfiguracji pliku właściwości użytkownika
Poniższy fragment kodu przedstawia konfigurację testu obciążeniowego, która określa plik właściwości użytkownika.
version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
properties:
userPropertyFile: 'user.properties'
Poniższy fragment kodu przedstawia konfigurację testu obciążeniowego, która określa plik konfiguracji locust.
version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.py
testType: Locust
engineInstances: 1
properties:
userPropertyFile: 'locust.conf'
secrets konfiguracja
Wartości wpisów tajnych można przechowywać w usłudze Azure Key Vault i odwoływać się do nich w planie testu. Dowiedz się więcej na temat używania wpisów tajnych z usługą Azure Load Testing.
| Klawisz | Typ | Wartość domyślna | Opis |
|---|---|---|---|
name |
ciąg | Nazwa tajemnicy. Ta nazwa powinna być zgodna z nazwą wpisu tajnego używaną w żądaniach planu testów. | |
value |
ciąg | Identyfikator URI (identyfikator wpisu tajnego) dla wpisu tajnego usługi Azure Key Vault. |
Przykład konfiguracji wpisów tajnych
Poniższy fragment kodu przedstawia konfigurację testu obciążeniowego, która odwołuje się do wpisu tajnego my-secret w usłudze Azure Key Vault.
version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
secrets:
- name: my-secret
value: https://akv-contoso.vault.azure.net/secrets/MySecret/abc1234567890def12345
env konfiguracja
Zmienne środowiskowe można określić i odwołać się do nich w planie testu. Dowiedz się więcej na temat używania zmiennych środowiskowych z usługą Azure Load Testing.
| Klawisz | Typ | Wartość domyślna | Opis |
|---|---|---|---|
name |
ciąg | Nazwa zmiennej środowiskowej. Ta nazwa powinna być zgodna z nazwą zmiennej używanej w żądaniach planu testów. | |
value |
ciąg | Wartość zmiennej środowiskowej. |
Przykład konfiguracji zmiennej środowiskowej
Poniższy fragment kodu przedstawia konfigurację testu obciążeniowego, która określa zmienną środowiskową my-variable i wartość my-value.
version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
env:
- name: my-variable
value: my-value
certificates konfiguracja
Certyfikaty klienta można przekazać do testu obciążeniowego. Certyfikat jest przechowywany w usłudze Azure Key Vault. Dowiedz się więcej na temat używania certyfikatów klienta z usługą Azure Load Testing.
| Klawisz | Typ | Wartość domyślna | Opis |
|---|---|---|---|
name |
ciąg | Nazwa certyfikatu. | |
value |
ciąg | Identyfikator URI (identyfikator wpisu tajnego) dla certyfikatu w usłudze Azure Key Vault. |
Przykład konfiguracji certyfikatu
Poniższy fragment kodu przedstawia konfigurację testu obciążeniowego, która odwołuje się do certyfikatu klienta w usłudze Azure Key Vault.
version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
certificates:
- name: my-certificate
value: https://akv-contoso.vault.azure.net/certificates/MyCertificate/abc1234567890def12345
referenceIdentities konfiguracja
Tożsamości zarządzane można używać w różnych scenariuszach w teście obciążeniowym. Tożsamości zarządzane mogą być używane w teście na potrzeby uzyskiwania dostępu do wpisów tajnych lub certyfikatów z usługi Azure Key Vault, pobierania metryk dla kryteriów niepowodzenia po stronie serwera i uwierzytelniania punktów końcowych.
W poniższej referenceIdentities: tabeli opisano różne pola w konfiguracji:
| Parameter | Opis |
|---|---|
kind |
To jest wymagane. Definiuje scenariusz, dla którego jest używana tożsamość zarządzana. Może to być jeden z następujących KeyVaultelementów , Metricslub Engine. Dla rodzaju Enginemoże istnieć wiele elementów. |
type |
To jest wymagane. Typ tożsamości. Może to być UserAssigned lub SystemAssigned. |
value |
To jest wymagane. Identyfikator zasobu tożsamości zarządzanej. Nie trzeba tego podać, jeśli typ to SystemAssigned. |
Przykład konfiguracji tożsamości odwołań
Poniższy fragment kodu przedstawia konfigurację testu obciążeniowego dla wielu tożsamości.
version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
secrets:
- name: my-secret
value: https://akv-contoso.vault.azure.net/secrets/MySecret/abc1234567890def12345
failureCriteria:
serverMetrics:
- resourceId: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.Compute/virtualMachines/sample-vm
metricNamespace: Microsoft.Compute/virtualMachines
metricName: Percentage CPU
aggregation: Average
condition: GreaterThan
value: 80
referenceIdentities:
- kind: KeyVault
type: UserAssigned
value: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sample-identity
- kind: Metrics
type: SystemAssigned
- kind: Engine
type: UserAssigned
value: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sample-identity
- kind: Engine
type: UserAssigned
value: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sample-identity1
Żądanie pliku JSON
Jeśli używasz testu opartego na adresach URL, możesz określić żądania HTTP w pliku JSON zamiast używać skryptu testowego. Pamiętaj, aby ustawić wartość testType na URL w pliku YAML konfiguracji testu i odwołać się do pliku JSON żądań.
Żądania HTTP
Plik JSON żądań używa następujących właściwości do definiowania żądań we requests właściwości :
| Majątek | Typ | Opis |
|---|---|---|
requestName |
ciąg | Unikatowa nazwa żądania. Możesz odwołać się do nazwy żądania podczas konfigurowania kryteriów testu niepowodzenia. |
responseVariables |
macierz | Lista zmiennych odpowiedzi. Użyj zmiennych odpowiedzi, aby wyodrębnić wartość z żądania i odwołać się do niej w kolejnym żądaniu. Dowiedz się więcej o zmiennych odpowiedzi. |
responseVariables.extractorType |
ciąg | Mechanizm wyodrębniania wartości z danych wyjściowych odpowiedzi. Obsługiwane wartości to XPathExtractor, JSONExtractori RegularExpression. |
responseVariables.expression |
ciąg | Wyrażenie w celu pobrania danych wyjściowych odpowiedzi. Wyrażenie zależy od wartości typu wyodrębniającego. |
responseVariables.variableName |
ciąg | Unikatowa nazwa zmiennej odpowiedzi. Tę zmienną można odwołać w kolejnym żądaniu przy użyciu {$variable-name} składni . |
queryParameters |
macierz | Lista parametrów ciągu zapytania, które mają być przekazywane do punktu końcowego. |
queryParameters.key |
ciąg | Nazwa parametru ciągu zapytania. |
queryParameters.value |
ciąg | Wartość parametru ciągu zapytania. |
requestType |
ciąg | Typ żądania. Obsługiwane wartości to: URL lub CURL. |
endpoint |
ciąg | Adres URL punktu końcowego aplikacji do przetestowania. |
headers |
macierz | Lista nagłówków HTTP do przekazania do punktu końcowego aplikacji. Określ parę klucz-wartość dla każdego nagłówka. |
body |
ciąg | Tekst treści żądania HTTP. Możesz użyć elementu requestBodyFormat , aby określić format zawartości treści. |
requestBodyFormat |
ciąg | Format zawartości treści. Obsługiwane wartości to: Text, , JSONJavaScript, HTML, i XML. |
method |
ciąg | Metoda HTTP w celu wywołania punktu końcowego. Obsługiwane wartości to: GET, , POST, PUTDELETE, PATCH, HEAD, i OPTIONS. |
curlCommand |
ciąg | Polecenie cURL do uruchomienia. Wymaga, aby element to requestTypeCURL. |
Poniższy fragment kodu JSON zawiera przykładowy plik JSON żądań:
{
"version": "1.0",
"scenarios": {
"requestGroup1": {
"requests": [
{
"requestName": "add",
"responseVariables": [],
"queryParameters": [
{
"key": "param1",
"value": "value1"
}
],
"requestType": "URL",
"endpoint": "https://www.contoso.com/orders",
"headers": {
"api-token": "my-token"
},
"body": "{\r\n \"customer\": \"Contoso\",\r\n \"items\": {\r\n\t \"product_id\": 321,\r\n\t \"count\": 50,\r\n\t \"amount\": 245.95\r\n }\r\n}",
"method": "POST",
"requestBodyFormat": "JSON"
},
{
"requestName": "get",
"responseVariables": [],
"requestType": "CURL",
"curlCommand": "curl --request GET 'https://www.contoso.com/orders'"
},
],
"csvDataSetConfigList": []
}
},
"testSetup": [
{
"virtualUsersPerEngine": 1,
"durationInSeconds": 600,
"loadType": "Linear",
"scenario": "requestGroup1",
"rampUpTimeInSeconds": 30
}
]
}
Ładowanie konfiguracji
Plik JSON żądań używa następujących właściwości do zdefiniowania konfiguracji ładowania we testSetup właściwości :
| Majątek | Typ | Typ ładowania | Opis |
|---|---|---|---|
loadType |
ciąg | Typ wzorca ładowania. Obsługiwane wartości to: linear, stepi spike. |
|
scenario |
ciąg | Odwołanie do grupy żądań określonej we scenarios właściwości . |
|
virtualUsersPerEngine |
liczba całkowita | Wszystko | Liczba użytkowników wirtualnych na wystąpienie aparatu testowego. |
durationInSeconds |
liczba całkowita | Wszystko | Łączny czas trwania testu obciążeniowego w sekundach. |
rampUpTimeInSeconds |
liczba całkowita | Liniowy, krok | Czas trwania w sekundach, aby zwiększyć liczbę docelowych użytkowników wirtualnych. |
rampUpSteps |
liczba całkowita | Krok | Liczba kroków, które należy wykonać, aby osiągnąć docelową liczbę użytkowników wirtualnych. |
spikeMultiplier |
liczba całkowita | Pik/Kolec/Skok | Współczynnik mnożenia liczby użytkowników docelowych w czasie trwania skoku. |
spikeHoldTimeInSeconds |
liczba całkowita | Pik/Kolec/Skok | Łączny czas trwania w sekundach w celu utrzymania obciążenia skokowego. |
Konfiguracja regionalnego testu obciążeniowego
Obciążenie można dystrybuować między regionami, aby lepiej symulować rzeczywiste wzorce ruchu. Możesz określić regiony, z których chcesz wygenerować obciążenie, oraz ilość obciążenia, które chcesz symulować z każdego regionu. Można to zrobić, określając nazwę regionu i liczbę wystąpień aparatu, które mają być w tym regionie. Dowiedz się więcej na temat generowania obciążenia z wielu regionów.
| Klawisz | Typ | Wartość domyślna | Opis |
|---|---|---|---|
region |
ciąg | Nazwa regionu świadczenia usługi Azure. | |
engineInstances |
liczba całkowita | Liczba wystąpień aparatu dla tego regionu świadczenia usługi Azure. |
Przykład konfiguracji testu obciążenia regionalnego
Poniższy fragment kodu przedstawia konfigurację testu obciążeniowego, która określa dwa regiony eastus platformy Azure i eastasia liczbę wystąpień aparatu dla każdego regionu.
displayName: Sample Test
testPlan: sampleScript.jmx
description: 'Load test website home page'
engineInstances: 4
testId: SampleTest
testType: Locust
splitAllCSVs: False
regionalLoadTestConfig:
- region: eastus
engineInstances: 2
- region: eastasia
engineInstances: 2
failureCriteria:
- p90(response_time_ms) > 10000
autoStop:
errorPercentage: 90
timeWindow: 60
Treści powiązane
- Dowiedz się, jak utworzyć zautomatyzowane testowanie regresji w przepływie pracy ciągłej integracji/ciągłego wdrażania.
- Dowiedz się, jak sparametryzować testy obciążeniowe przy użyciu wpisów tajnych i zmiennych środowiskowych.
- Dowiedz się, jak załadować zabezpieczone punkty końcowe.