Reaktsiooniaja testimine: kuidas mõõta API jõudlust

⚡ Nutikas kokkuvõte

Reaktsiooniaja testimine mõõdab, kui kaua süsteemil päringule vastamiseks aega kulub, alates hetkest, mil kasutaja selle saadab, kuni hetkeni, mil rakendus teatab päringu lõpuleviimisest. See juhend hõlmab mõõdikuid, kolme olulist lävendit ja tööriistu, mis neid jäädvustavad.

  • Põhidefinitsioon: Vastamisaeg hõlmab kogu edasi-tagasi teekonda alates päringu saatmisest kuni protsessi lõpuleviimiseni.
  • 📊 Kolm mõõdikut: Keskmine reageerimisaeg, tippreageerimisaeg ja veamäär kirjeldavad koos süsteemi käitumist.
  • 🟢 0.1 sekund: Mõjub koheselt, ilma kasutajale tajutava segamiseta.
  • 🟡 1 sekund: Katkematu mõttevoo ülempiir.
  • ???? 10 sekundit: Tähelepanu piir, kuigi praktikas loobuvad kasutajad juba ammu enne seda.
  • 🧪 Mõõtmismeetod: Mähi äriprotsess koormustestimise tööriistas algus- ja lõpptehinguteks.

Reageerimisaja testimine

Mis on reageerimisaja testimine?

Reageerimisaja testimine mõõdab aega, mis kulub ühel süsteemisõlmel teise päringule vastamiseks. See on ajavahemik päringu saabumise ja vastava protsessi lõpuleviimise vahel. Näiteks on teil API ja soovite täpselt teada, kui palju aega kulub selle täitmiseks ja andmete JSON-vormingus tagastamiseks. Reaktsiooniaeg mõõdab serveri vastust igale tehingule või päringule.

Vastamisaeg algab siis, kui kasutaja saadab päringu ja lõpeb hetkel, mil rakendus teatab, et päring on lõpule viidud.

Kuidas mõõta reageerimisaega

Reageerimisaja mõõtmiseks, saame kasutada testtööriistu, ümbritsedes olulise äriprotsessi algus- ja lõpptehingutega. Äriprotsess võib olla toiming või toimingute kogum, mida kasutajad rakenduses teevad äriülesande täitmiseks, näiteks rakendusse sisselogimiseks või raamatu ostmiseks AmazonCom

Reageerimisaja testimine
Reageerimisaja testimine

Sama protsessi puhul API reageerimisaja mõõtmiseks on vastus tööriistati veidi erinev. Siin on põhjus

  • Step 1) Iga API reageerimisaja testitööriista kogutud mõõdikute arvutamise meetod
  • Step 2) Tööriistad Simuleerivad laadimist ja püüdmiskiirust, mis võib reageerimisaega muuta
  • Step 3) Kasutaja laadimiste jälgimisel salvestatakse lisaüksused
  • Step 4) Iga tööriistaga kogutud mõõdikute arvutamine suurendab reageerimisaega suure ressursikulu tõttu.
  • Step 5) Kahe tööriista arhitektuur võib olla erinev

Vastusmõõdikute tüübid

Reageerimisaja mõõdikud Selgitus
Keskmine reageerimisaeg Keskmine reageerimisaeg on iga edasi-tagasi reisi päringu keskmine aeg. Keskmine reageerimisaeg sisaldab HTML-i, CSS-i, XML-i, piltide, JavaSkriptifailid jne. Seetõttu mõjutab keskmist väärtust aeglaste komponentide olemasolu süsteemis.
Tippreageerimisaeg Peak Response Time aitab meil leida potentsiaalselt probleemseid komponente. See aitab meil leida kõik veebisaidil või süsteemis esinevad ebakorrapärasused, kus teatud päringut ei käsitleta õigesti. Näiteks võidakse käivitada suur andmebaasi päring, mis võib mõjutada reageerimisaega. See päring ei luba lehte soovitud ajal laadida.
Veamäär Vea määr on matemaatiline arvutus, mis kuvab probleemsete päringute protsendi kõigist päringutest. See protsent loendab kõiki HTTP olekukoode, mis kuvavad serveris viga. Samuti loendab see päringuid, mille aegumine lõpeb.

Kolm olulist reageerimisaja läve

Reaktsiooniaja aruandes on kõige olulisemad kaks näitajat:

  • Keskmine reageerimisaeg
  • Maksimaalne ehk tippreaktsiooni aeg

Koos näitavad need, kui kaua kasutaja tavaliselt ootab ja kui kaua kõige ebaõnnetum kasutaja ootab.

Järgnevalt on toodud peamised reaktsiooniaja testimise näite väärtused

Response Time Tähendus
0.1 Second See on eelistatuim reageerimisaeg. Kui reageerimisaeg on 0.1, tunnevad kasutajad alati, et rakendus või süsteem reageerib kohe, ega tunne mingeid katkestusi.
1.0 Second See on katkematu kogemuse aktsepteeritud ülempiir. Kasutajad ei tunne tõenäoliselt mingeid katkestusi, kuigi nad võivad kogeda mõningast viivitust. Üle ühe sekundi pikkune reageerimisaeg võib kasutuskogemust häirida.
10 Seconds See on maksimaalne piir, mille järel reageerimisaeg ületab lubatud piiri. Kui reageerimisaeg ületab 6 sekundit, lahkub kasutaja aga sellelt saidilt või sulgeb rakenduse.

Püüdke võimaluse korral saavutada vahemik 0.1–1 sekundit. Kasutajad kohanevad aeglasemate süsteemidega, kuid rahulolu langeb järsult pärast umbes 2 sekundit ja iga täiendav sekund suurendab loobumist.

Reageerimisaja testimise tööriistad

Saadaval on palju reageerimisaja testimise tööriistu. Kaks enimkasutatavat on:

1) JMeter

Apache JMeter on avatud lähtekoodiga koormuse testimise tööriist. See on loodud veebisaitide toimivuse mõõtmiseks. Seda koormustesti tööriista saab kasutada DevOpsi metoodikas.

JMeter

Funktsioonid:

  • JMeter võimaldab teha erinevate serveritüüpide koormus- ja jõudlustesti.
  • See koormuse testimise tööriist salvestab oma testiplaanid XML-vormingus, mis võimaldab kasutajatel luua testiplaani tekstiredaktoriga.
  • Tööriistaga saab teostada automatiseeritud ja funktsionaalne testimine rakendustest.

Download link: Apache JMeter allalaadimine


2) Koormusjooks

Loadrunner Micro Focuselt on laialdaselt kasutatav koormustestimise tööriist. See on üks parimaid alternatiive JMeter mis pakub kasutajasõbralikku jälgimis- ja analüüsiliidest koos värviliste diagrammide ja graafikaga.

Koormusjooksja

Funktsioonid:

  • Toetab pidevat testimist
  • LoadRunner saab tõhusalt töötada mitmes ettevõtte keskkonnas
  • Mitme protokolli skripti käivitamine on võimalik Loadrunner
  • Integratsioon erinevate arendustööriistadega nagu Visual Studio, Jenkins, SeleniumJne

Download link: LoadRunner Professional

Kuidas see test sobib jõudlustestide perekonda

Jõudlustestid on üldmõiste. Allpool loetletud variandid erinevad ainult rakendatava koormuse kuju ja selle kestuse poolest, mistõttu neid nii sageli segamini aetakse.

Katse tüüp Koormusmuster Küsimus, millele see vastab
Koormustestimine Eeldatav tippkoormus, lühiajaline Kas süsteem saavutab oma eesmärgid tavapärase tippkoormuse korral?
Stressitestimine Suurendatud üle võimekuse kuni rikkeni Kus see puruneb ja kas see puruneb graatsiliselt?
Spike testimine Äkiline äärmuslik tõus, seejärel võõrutusnähud Kas see jääb ellu ja taastub liiklusšoki järel?
Vastupidavuse testimine Tavaline koormus, mida hoitakse mitu tundi Kas jõudlus aja jooksul halveneb?
Leotustestimine Pidev koormus pikema aja jooksul Kas esineb mälulekkeid või ressursside ammendumist?
Stabiilsuse testimine Erinev koormus erinevates tingimustes Kas süsteem jääb töökindlaks ka muutuvate tingimuste korral?
Mahu testimine Tavakasutajad, väga suur andmemaht Kas see saab andmebaasi kasvades hakkama?

Vastupidavus- ja leotuskatseid käsitletakse sageli sünonüümidena. Üldkasutuses on need järgmised: mõlemad hoiavad pikka aega püsivat koormust. Seal, kus meeskonnad neid eristavad, keskendub vastupidavustestimine sellele, kas reageerimisajad pikenevad, samas kui leotustestimine keskendub ressursside tarbimisele, näiteks mälule, failikäepidemetele ja ühenduste kogumitele. Ühe käivitamine annab tavaliselt tõendeid mõlema kohta.

Reaktsiooniaja testimine: peamised järeldused

  • Reaktsiooniaeg on aeg, mis kulub ühel süsteemisõlmel teise päringule vastamiseks.
  • Keskmine reageerimisaeg sisse jõudluse testimine on iga edasi-tagasi reisi taotluse jaoks kuluv keskmine aeg.
  • Tipptasemel reageerimisaeg näitab, millised komponendid on potentsiaalselt problemaatilised.
  • Veamäär on matemaatiline arvutus, mis kuvab probleemtaotluste protsendi.
  • Kolm olulist reaktsiooniaja väärtust on: 0.1 sekundit, 1.0 sekundit ja 10 sekundit.
  • Kaks enimkasutatavat reageerimisaja testimise tööriista on JMeter ja LoadRunner.

KKK

Latentsusaeg on päringu võrgus liikumise aeg. Vastamisaeg hõlmab latentsusaega pluss kogu serveri töötlemist ja renderdamist. Kiire võrk võib siiski anda kehva reageerimisaja, kui server on aeglane.

Keskmine väärtus varjab kõrvalekaldeid. Süsteem, mille keskmine kiirus on 800 ms ja 95. protsentiil on 9 sekundit, ebaõnnestub ühel kasutajal kahekümnest ja ainult protsentiil näitab seda.

Interaktiivsete toimingute puhul püüdke jääda alla ühe sekundi ja täislehe laadimise puhul alla kahe sekundi. Üle kolme sekundi suureneb lahkumiste arv järsult, olenemata teoreetilisest 10-sekundilisest piirist.

Tehisintellektil põhinev jälgimine loob iga lõpp-punkti kohta normaalse baasjoone ja märgistab kõrvalekalded automaatselt, asendades fikseeritud läviväärtusi, mis eeldatava liiklustipu ajal müra tekitavad.

Jah. Ajalooliste jõudlustestide põhjal treenitud mudelid suudavad märkida, millised koodimuudatused võivad lõpp-punkti aeglustada. Kinnitage iga ennustust tegeliku mõõdetud testiga.

Võta see postitus kokku järgmiselt: