Lasttestning och prestandamätning (JMeter och k6) · Lektion

Prestandagrindar och SLO:er

Definiera prestandagrindar och Service Level Objectives (SLO:er) för att förhindra prestandaregressioner.

Lektion 3 av 411 steg

Prestandagrindar och SLO:er är en gratis lektion i Lasttestning och prestandamätning (JMeter och k6) på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Lasttestning och prestandamätning (JMeter och k6), och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Lasttestning och prestandamätning (JMeter och k6) innehåller totalt 4 lektioner.

Förhindra regressioner med grindar och SLO:er

I CI/CD kan prestandan försämras över tid. Vi behöver skyddsåtgärder!

Prestandagrindar och Service Level Objectives (SLO:er) är viktiga verktyg för att automatiskt förhindra prestandaregressioner och säkerställa användarnöjdhet.

Vad är prestandagrindar?

En prestandagrind är ett villkor för godkänt eller underkänt i din CI/CD-pipeline, baserat på prestandamätvärden.

  • Om en testkörning uppfyller de definierade kriterierna "godkänns" grinden och pipelinen fortsätter.
  • Om den inte gör det "underkänns" grinden, och pipelinen kan stoppas eller flaggas, så att kod med dålig prestanda inte når produktion.

Viktiga mätvärden för grindar

Du kan sätta grindar för olika mätvärden:

  • Genomsnittlig svarstid: till exempel "Den genomsnittliga svarstiden måste vara mindre än 500 ms."
  • Felfrekvens: till exempel "Felfrekvensen måste vara mindre än 1 %."
  • Genomströmning: till exempel "Genomströmningen måste vara minst 100 begäranden per sekund."
  • Resursutnyttjande: till exempel "CPU-utnyttjandet får inte överstiga 80 %."

Så fungerar grindar (logik)

Prestandagrindar bygger på enkel villkorslogik. När prestandatestet har körts jämför du resultatet med fördefinierade tröskelvärden.

Här är ett konceptuellt JavaScript-kodexempel som demonstrerar denna logik:

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));

Uppnå Service Level Objectives (SLO:er)

Ett Service Level Objective (SLO) är ett mål för en viss servicenivå som du strävar efter att tillhandahålla. Det är en viktig del i att säkerställa nöjda användare och framgång för verksamheten.

SLO:er är ofta mer användarcentrerade och kopplade till verksamhetens påverkan än rena prestandagrindar, eftersom de fokuserar på det som är viktigast för användarna.

Ett SLO:s beståndsdelar

Varje SLO har tre huvuddelar:

  • Mätvärde: Vad mäter du? (till exempel "begäranden som hanterats framgångsrikt", "sidinläsningstid")
  • Mål: Vilken nivå vill du uppnå? (till exempel "99,9 % av begärandena", "under 2 sekunder")
  • Tidsperiod: Under vilken period? (till exempel "under ett rullande 7-dagarsintervall", "under rusningstid")

Ett exempel på ett SLO kan vara: "99,9 % av användarnas inloggningsbegäranden måste slutföras inom 1 sekund, mätt över en period på 30 dagar."

SLO:er jämfört med SLA:er: en snabb överblick

SLO:er och SLA:er (Service Level Agreements) hänger ihop, men är olika saker:

  • SLO: Ett internt mål för tjänstekvalitet. Det hjälper team att övervaka och förbättra tjänsten.
  • SLA: Ett formellt avtal med kunder, ofta med påföljder vid bristande efterlevnad. SLO:er hjälper dig att uppfylla dina SLA:er.

Se SLO:er som teamets åtagande för kvalitet och SLA:er som ditt juridiska åtagande gentemot kunderna.

Utforma meningsfulla SLO:er

För att vara effektiva bör SLO:er vara:

  • Mätbara: Du måste kunna samla in data för mätvärdet.
  • Uppnåeliga: Sätt realistiska mål.
  • Begripliga: Tydliga för alla berörda.
  • Användarfokuserade: Påverkar användarupplevelsen eller verksamhetens mål direkt.

Undvik att ha för många SLO:er och fokusera på de mest kritiska delarna av tjänsten.

Från tester till SLO-övervakning

Prestandatester i CI/CD genererar data som används i SLO-övervakningen.

  • Testresultaten ger tidiga signaler om huruvida du är på rätt väg för att uppnå SLO:erna.
  • Verktyg för kontinuerlig övervakning följer sedan dessa mätvärden i produktion för att säkerställa att kraven fortsätter att uppfyllas.

Genom att upptäcka problem tidigt med grindar och övervaka kontinuerligt med SLO:er bygger du motståndskraftiga system.

Kontroll av grindar och SLO:er

Vilka påståenden beskriver Performance Gates och Service Level Objectives (SLO:er) korrekt?

Sammanfattning: grindar och SLO:er

Vi har lärt oss hur Performance Gates fungerar som automatiserade kontroller för godkänt eller underkänt i CI/CD. De använder tröskelvärden för mätvärden som svarstid eller felfrekvens för att förhindra prestandaförsämringar.

Vi har också gått igenom Service Level Objectives (SLO:er), som är användarcentrerade mål för tjänstekvalitet och definieras av ett mätvärde, ett mål och en tidsperiod. Tillsammans säkerställer de att dina program fortsätter att ha god prestanda och vara tillförlitliga.

Gratis att börja

Lär dig Lasttestning och prestandamätning (JMeter och k6) med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”Prestandagrindar och SLO:er” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Lasttestning och prestandamätning (JMeter och k6), inklusive ”Prestandagrindar och SLO:er”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Lasttestning och prestandamätning (JMeter och k6) innehåller totalt 4 lektioner.

Vad lär jag mig i ”Prestandagrindar och SLO:er”?

Definiera prestandagrindar och Service Level Objectives (SLO:er) för att förhindra prestandaregressioner. Ni övar på Lasttestning och prestandamätning (JMeter och k6) med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Lasttestning och prestandamätning (JMeter och k6)?

Du behöver inga förkunskaper. Utbildningen i Lasttestning och prestandamätning (JMeter och k6) på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”Prestandagrindar och SLO:er”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Lasttestning och prestandamätning (JMeter och k6)-lektionen?

Ja. Varje Lasttestning och prestandamätning (JMeter och k6)-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Integrera JMeter med Jenkins
  2. k6 i GitHub Actions
  3. Prestandagrindar och SLO:er
  4. Trendanalys och baslinjer i CI
← Tillbaka till Lasttestning och prestandamätning (JMeter och k6)