Lasttesting og ytelsesreferansetesting (JMeter og k6) · leksjon

Ytelsesporter og SLO-er

Definer ytelsesporter og Service Level Objectives (SLO-er) for å forhindre ytelsesregresjoner.

Leksjon 3 av 411 trinn

Ytelsesporter og SLO-er er en gratis leksjon i Lasttesting og ytelsesreferansetesting (JMeter og k6) på CoddyKit. Dette er leksjon 3 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Lasttesting og ytelsesreferansetesting (JMeter og k6), og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Lasttesting og ytelsesreferansetesting (JMeter og k6) inneholder totalt 4 leksjoner.

Forhindre regresjoner med porter og SLO-er

I CI/CD kan ytelsen bli dårligere over tid. Vi trenger sikkerhetstiltak!

Ytelsesporter og Service Level Objectives (SLO-er) er viktige verktøy for automatisk å forhindre ytelsesregresjoner og sikre brukertilfredshet.

Hva er ytelsesporter?

En ytelsesport er en bestått/ikke bestått-betingelse i CI/CD-pipelinen basert på ytelsesmålinger.

  • Hvis en testkjøring oppfyller de definerte kriteriene, «består» porten, og pipelinen fortsetter.
  • Hvis den mislykkes, «mislykkes» porten, og pipelinen kan stoppes eller flagges, slik at kode med dårlig ytelse hindres i å nå produksjon.

Viktige målinger for porter

De kan sette porter for ulike målinger:

  • Gjennomsnittlig svartid: for eksempel «Gjennomsnittlig svartid må være mindre enn 500 ms.»
  • Feilrate: for eksempel «Feilraten må være mindre enn 1 %.»
  • Gjennomstrømming: for eksempel «Gjennomstrømmingen må være minst 100 forespørsler per sekund.»
  • Ressursutnyttelse: for eksempel «CPU-utnyttelsen må ikke overstige 80 %.»

Slik fungerer porter (logikk)

Ytelsesporter innebærer enkel betingelseslogikk. Etter at ytelsestesten er kjørt, sammenligner De resultatene med forhåndsdefinerte terskelverdier.

Her er et konseptuelt JavaScript-utdrag som viser denne logikken:

function checkPerformanceGate(metricValue, threshold, isLowerBetter) {
  if (isLowerBetter) {
    return metricValue <= threshold ? "PASS" : "FAIL";
  } else {
    return metricValue >= threshold ? "PASS" : "FAIL";
  }
}

// Example: Response Time (lower is better)
let avgResponseTime = 150; // milliseconds
let rtThreshold = 200; // milliseconds
console.log("RT Check: " + checkPerformanceGate(avgResponseTime, rtThreshold, true));

// Example: Throughput (higher is better)
let throughput = 120; // req/sec
let tpThreshold = 100; // req/sec
console.log("TP Check: " + checkPerformanceGate(throughput, tpThreshold, false));

Oppfyll tjenestenivåmål (SLO-er)

Et tjenestenivåmål (SLO) er et mål for et bestemt tjenestenivå som De ønsker å tilby. Det er en viktig del av å sikre brukertilfredshet og forretningsmessig suksess.

SLO-er er ofte mer brukerorienterte og tettere knyttet til forretningspåvirkning enn rene ytelsesporter, fordi de fokuserer på det som betyr mest for brukerne.

Slik er et SLO bygget opp

Alle SLO-er har tre hoveddeler:

  • Måling: Hva måler De? (for eksempel «forespørsler som behandles uten feil», «sidens innlastingstid»)
  • Mål: Hvilket nivå ønsker De å oppnå? (for eksempel «99,9 % av forespørslene», «under 2 sekunder»)
  • Tidsrom: Over hvilken periode? (for eksempel «over et rullerende 7-dagersvindu», «i rushtiden»)

Et eksempel på et SLO kan være: «99,9 % av brukernes innloggingsforespørsler må fullføres innen 1 sekund, målt over en periode på 30 dager.»

SLO-er og SLA-er: en rask sammenligning

SLO-er og SLA-er (tjenestenivåavtaler) er beslektet, men forskjellige:

  • SLO: Et internt mål for tjenestekvalitet. Det hjelper team med å overvåke og forbedre tjenesten.
  • SLA: En formell avtale med kunder, ofte med sanksjoner ved manglende overholdelse. SLO-er hjelper Dem med å oppfylle SLA-ene.

Tenk på SLO-er som teamets forpliktelse til kvalitet, og SLA-er som den juridiske forpliktelsen overfor kundene.

Utforming av meningsfulle SLO-er

For å være effektive bør SLO-er være:

  • Målbare: De må kunne samle inn data for målingen.
  • Oppnåelige: Sett realistiske mål.
  • Forståelige: Tydelige for alle involverte.
  • Brukerorienterte: De må ha direkte innvirkning på brukeropplevelsen eller forretningsmålene.

Unngå for mange SLO-er, og fokuser på de viktigste aspektene ved tjenesten.

Fra tester til SLO-overvåking

Ytelsestester i CI/CD genererer data som brukes i SLO-overvåkingen.

  • Testresultatene gir tidlige signaler om hvorvidt De ligger an til å oppfylle SLO-ene.
  • Verktøy for kontinuerlig overvåking følger deretter disse målingene i produksjon for å sikre at kravene fortsatt oppfylles.

Ved å oppdage problemer tidlig med porter og overvåke kontinuerlig med SLO-er bygger De robuste systemer.

Kontroll av porter og SLO-er

Hvilke påstander beskriver ytelsesporter og tjenestenivåmål (SLO-er) korrekt?

Oppsummering: porter og SLO-er

Vi har lært hvordan ytelsesporter fungerer som automatiserte bestått/ikke bestått-kontroller i CI/CD. De bruker terskelverdier for målinger som svartid eller feilrate for å hindre regresjoner i ytelsen.

Vi har også sett på tjenestenivåmål (SLO-er), som er brukerorienterte mål for tjenestekvalitet definert av en måling, et mål og et tidsrom. Sammen sørger de for at applikasjonene forblir raske og pålitelige.

Gratis å komme i gang

Lær deg Lasttesting og ytelsesreferansetesting (JMeter og k6) med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Ytelsesporter og SLO-er» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Lasttesting og ytelsesreferansetesting (JMeter og k6), inkludert «Ytelsesporter og SLO-er», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Lasttesting og ytelsesreferansetesting (JMeter og k6) inneholder totalt 4 leksjoner.

Hva lærer jeg i «Ytelsesporter og SLO-er»?

Definer ytelsesporter og Service Level Objectives (SLO-er) for å forhindre ytelsesregresjoner. Du øver på Lasttesting og ytelsesreferansetesting (JMeter og k6) med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Lasttesting og ytelsesreferansetesting (JMeter og k6)?

Ingen tidligere erfaring er nødvendig. Lasttesting og ytelsesreferansetesting (JMeter og k6) på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Ytelsesporter og SLO-er»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Lasttesting og ytelsesreferansetesting (JMeter og k6)-leksjonen?

Ja. Alle Lasttesting og ytelsesreferansetesting (JMeter og k6)-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Integrere JMeter med Jenkins
  2. k6 i GitHub Actions
  3. Ytelsesporter og SLO-er
  4. Trend-analyse og baseline i CI
← Tilbake til Lasttesting og ytelsesreferansetesting (JMeter og k6)