Opret en YAML-konfigurationsfil til indlæsningstest

Fuldført

Få mere at vide om, hvordan du konfigurerer din belastningstest i Azure Load Testing ved hjælp af YAML. Du kan bruge YAML-filen til testkonfiguration til at oprette og køre belastningstest fra din Arbejdsproces for GitHub-handlinger.

Indlæs YAML-syntaks for indlæsningstest

En konfiguration af indlæsningstest bruger følgende nøgler:

Nøgle Slags Kræves Standardværdi Beskrivelse
version streng Y Indlæs versionen af testspecifikationen. Den eneste understøttede værdi er v0.1.
testId streng Y Entydigt id for belastningstesten. Værdien skal være mellem 2 og 50 tegn ([a-z0-9_-]). I forbindelse med en eksisterende test kan du hente testId fra siden med testoplysninger på Azure Portal.
testName streng N udfaset. Entydigt id for belastningstesten. Denne indstilling erstattes med testId. Du kan stadig køre eksisterende test med feltet testName.
displayName streng N Vist navn på testen. Denne værdi vises på listen over test på Azure Portal. Hvis den ikke er angivet, bruges testId som vist navn.
description streng N Kort beskrivelse af testen. Værdien har en maksimumlængde på 100 tegn.
testType streng Y Testtype. Mulige værdier:
  • URL: URL-baseret belastningstest
  • JMX: JMeter-baseret belastningstest
testPlan streng Y Reference til filen med testplanen.
  • Hvis testType: JMX: relativ sti til JMeter-testscriptet.
  • Hvis testType: URL: relativ sti til JSON-filen med anmodninger.
engineInstances heltal Y Antal forekomster af parallel testprogram til kørsel af testplanen.
configurationFiles matrix af streng N Liste over eksterne filer, der kræves af testscriptet. F.eks. CSV-datafiler, billeder eller andre datafiler.
Azure Load Testing uploader alle filer i den samme mappe som testscriptet. I JMeter-scriptet skal du kun referere til eksterne filer ved hjælp af filnavnet og fjerne oplysninger om filstier.
failureCriteria objekt N Liste over fejlkriterier for belastningstest.
autoStop streng eller objekt N Stop automatisk indlæsningstesten, når fejlprocenten overskrider en værdi.
Mulige værdier:
- disable: Stop ikke en indlæsningstest automatisk.
properties objekt N Referencer til JMeter-brugeregenskabsfiler.
zipArtifacts matrix af streng N Angiver listen over zip-artefaktfiler. Hvis filstørrelsen overstiger 50 MB for andre filer end JMeter-scripts og -brugeregenskaber, skal du komprimere dem til en ZIP-fil. Sørg for, at ZIP-filen forbliver under 50 MB. Kun 5 ZIP-artefakter er tilladt med maksimalt 1.000 filer i hver og dekomprimeret størrelse på 1 GB. Gælder kun, når testType: JMX.
splitAllCSVs Boolesk N Falsk Opdel CSV-inputfilerne jævnt på tværs af alle forekomster af testprogrammet.
secrets objekt N Liste over hemmeligheder, som Apache JMeter-scriptet refererer til.
env objekt N Liste over miljøvariabler, som Apache JMeter-scriptet refererer til.
certificates objekt N Liste over klientcertifikater til godkendelse med programslutpunkter i JMeter-scriptet.
keyVaultReferenceIdentity streng N Ressource-id for den brugertildelt administrerede identitet for at få adgang til hemmelighederne fra din Azure Key Vault. Hvis du bruger en systemadministrert identitet, er disse oplysninger ikke nødvendige. Sørg for at give denne brugertildelt identitetsadgang til din Azure Key Vault.
subnetId streng N Ressource-id for det virtuelle netværksundernet til test af private hostede slutpunkter. Dette undernet er vært for de indsprøjtede testprogram-VM'er.
publicIPDisabled Boolesk N Deaktiver udrulningen af en offentlig IP-adresse, belastningsjustering og netværkssikkerhedsgruppe under test af et privat slutpunkt.

Følgende YAML-kodestykke indeholder et eksempel på konfiguration af indlæsningstest.

version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
subnetId: /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/sample-rg/providers/Microsoft.Network/virtualNetworks/load-testing-vnet/subnets/load-testing
configurationFiles:
  - 'sampledata.csv'
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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/sample-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sample-identity

Konfigurer indlæsningsparametre

Hvis du vil simulere brugertrafik for dit program, kan du konfigurere indlæsningsmønsteret og det antal virtuelle brugere, du vil simulere indlæsning for. Azure Load Testing kan skalere antallet af virtuelle brugere, der simulerer trafik til dit program, ved at køre belastningstesten på tværs af mange parallelle testprogramforekomster. Belastningsmønsteret bestemmer, hvordan belastningen fordeles i løbet af belastningstestens varighed. Eksempler på belastningsmønstre er lineære, trinviseeller spidsbelastning.

Afhængigt af typen af belastningstest, URL-baseret eller JMeter-baseret har du forskellige muligheder for at konfigurere målbelastningen og belastningsmønsteret. I følgende tabel vises forskellene mellem de to testtyper.

Testtype Antal virtuelle brugere Indlæs mønster
URL-baseret (grundlæggende) Angiv målnummeret for virtuelle brugere i konfigurationen af belastningstesten. Lineært belastningsmønster baseret på opgangstiden og antallet af virtuelle brugere.
URL-baseret (avanceret) Angiv antallet af testprogrammer og antallet af virtuelle brugere pr. forekomst i konfigurationen af belastningstesten. Konfigurer belastningsmønsteret (lineær, trin, spidsbelastning).
JMeter-baseret Angiv antallet af testprogrammer i konfigurationen af belastningstesten. Angiv antallet af virtuelle brugere i testscriptet. Konfigurer indlæsningsmønsteret i testscriptet.

Konfigurer belastningsparametre for JMeter-baserede test

I forbindelse med GitHub-handlingsarbejdsprocesser konfigurerer du antallet af programforekomster i YAML-testkonfigurationsfilen. Du gemmer konfigurationsfilen til belastningstest sammen med JMeter-testscriptfilen i lageret til kildekontrol.

I følgende eksempel konfigureres en belastningstest, der kører på tværs af 10 parallelle testprogramforekomster.

Konfigurer antallet af forekomster af testprogrammet i indstillingen for engineInstances.

    version: v0.1
    testId: SampleTestCICD
    displayName: Sample test from CI/CD
    testPlan: SampleTest.jmx
    description: Load test website home page
    engineInstances: 10