Lasttesting og ytelsesreferansetesting (JMeter og k6) · leksjon

Tolke k6-metrikk

Forstå k6s detaljerte metrikk, egendefinerte tagger og hvordan de kan visualiseres for å gi innsikt.

Leksjon 3 av 412 trinn

Tolke k6-metrikk 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.

Hva er k6-måleverdier?

Når De kjører en k6-ytelsestest, genererer den ulike måleverdier. Dette er numeriske verdier som beskriver hvordan systemet oppfører seg under belastning.

Det er avgjørende å forstå disse måleverdiene for å identifisere ytelsesflaskehalser, kontrollere tjenestenivåavtaler (SLA-er) og sikre at applikasjonen kan håndtere forventet trafikk.

Viktig måleverdi: forespørselsvarighet

En av de viktigste innebygde k6-måleverdiene er http_req_duration. Den måler den totale tiden det tar å fullføre en HTTP-forespørsel.

  • Den starter når forespørselen sendes.
  • Den avsluttes når hele svaret er mottatt.
  • Den gjenspeiler direkte responstiden brukerne opplever.

Viktige måleverdier: VU-er og iterasjoner

Andre grunnleggende måleverdier hjelper Dem med å forstå belastningen:

  • vus (Virtual Users): Viser antallet virtuelle brukere som er aktive under testen.
  • iterations: Teller hvor mange ganger testskriptets default-funksjon er kjørt.

Disse måleverdiene hjelper Dem med å se om testen påfører den tiltenkte belastningen.

Viktige måleverdier: dataoverføring

Det er også viktig å forstå nettverksbruken. k6 tilbyr måleverdier for dataoverføring:

  • data_sent: Det totale antallet byte som k6 sender under testen.
  • data_received: Det totale antallet byte som k6 mottar.

Disse måleverdiene hjelper Dem med å analysere båndbreddebruken og identifisere potensielt store svar.

Forstå aggregering av måleverdier

k6 viser ikke bare råverdier, men aggregerer dem også. Vanlige aggregeringer omfatter:

  • avg (gjennomsnitt)
  • min (minimum)
  • max (maksimum)
  • p(XX) (persentil, for eksempel p(90), p(95))

Persentiler er spesielt viktige fordi de beskriver opplevelsen til en bestemt prosentandel av brukerne, uten at ekstreme avvik påvirker bildet.

Utover innebygde måleverdier: egendefinerte måleverdier

Selv om de innebygde måleverdiene i k6 er kraftige, kan De ha behov for å følge bestemte hendelser eller tidsintervaller på applikasjonsnivå. Det er her egendefinerte måleverdier kommer inn.

De kan opprette egne måleverdier for å få dypere innsikt i systemets unike atferd. Vanlige typer er Counter, Gauge, Rate og Trend.

Legge til en egendefinert måleverdi

Slik legger De til en egendefinert Trend-måleverdi for å måle varigheten av en bestemt operasjon i skriptet. Dette gjør det mulig å følge ytelsen utover bare HTTP-forespørsler.

import { Trend } from 'k6/metrics';
import http from 'k6/http';
import { sleep } from 'k6';

const myCustomTrend = new Trend('custom_operation_duration');

export default function () {
  const startTime = Date.now();
  http.get('https://test.k6.io/contacts.php');
  const endTime = Date.now();
  myCustomTrend.add(endTime - startTime); // Add duration in milliseconds

  sleep(1);
}

Kategorisere med k6-tagger

Tagger er nøkkel-verdi-par som gir metadata til måleverdiene. De gjør det mulig å kategorisere og filtrere resultatene for en mer detaljert analyse.

k6 legger automatisk til tagger som url og status. De kan også legge til egendefinerte tagger for å skille mellom måleverdier for ulike deler av applikasjonen eller bestemte brukerforløp.

Bruke egendefinerte tagger

Egendefinerte tagger er svært nyttige for å bryte ned måleverdiene. De kan for eksempel merke forespørsler basert på siden eller API-endepunktet de når, slik at De kan analysere ytelsen for hver funksjon.

import http from 'k6/http';
import { sleep } from 'k6';

export default function () {
  // Tagging requests to different pages
  http.get('https://test.k6.io/', {
    tags: { page_name: 'homepage' },
  });

  http.get('https://test.k6.io/news.php', {
    tags: { page_name: 'news_page' },
  });

  sleep(1);
}

Visualisere k6-måleverdiene

Selv om konsollutdataene fra k6 er nyttige, blir analysen mye enklere når måleverdiene visualiseres. Verktøy som Grafana (ofte sammen med InfluxDB eller Prometheus) egner seg svært godt til dette.

k6 kan eksportere resultater direkte til disse systemene, slik at De kan opprette dashbord som viser trender, topper og ytelsesregresjoner over tid.

Utfordring: tolke måleverdier

Se på k6-utdraget nedenfor:

http_req_duration{status=200, scenario=default, my_tag=checkout}......: avg=350ms min=100ms med=300ms p(90)=550ms p(95)=600ms max=1200ms

Hva forteller p(95)=600ms først og fremst om checkout-forespørslene?

Oppsummering: tolke k6-måleverdier

De har lært å tolke de kraftige måleverdiene i k6!

  • Innebygde måleverdier som http_req_duration, vus og data_sent/received gir grunnleggende innsikt.
  • Aggregeringer, særlig persentiler, gir et realistisk bilde av brukeropplevelsen.
  • Egendefinerte måleverdier og tagger muliggjør en dyp og detaljert analyse av bestemte former for applikasjonsatferd.
  • Visualiseringsverktøy er avgjørende for å forstå komplekse testresultater.

Å mestre tolkningen av måleverdier er avgjørende for vellykket ytelsestesting!

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 «Tolke k6-metrikk» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Lasttesting og ytelsesreferansetesting (JMeter og k6), inkludert «Tolke k6-metrikk», 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 «Tolke k6-metrikk»?

Forstå k6s detaljerte metrikk, egendefinerte tagger og hvordan de kan visualiseres for å gi innsikt. 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 «Tolke k6-metrikk»?

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. Verktøy for overvåking på serversiden
  2. Analysere JMeter-resultater
  3. Tolke k6-metrikk
  4. Koble sammen metrikker for å finne rotårsaker
← Tilbake til Lasttesting og ytelsesreferansetesting (JMeter og k6)