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.
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

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.
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.
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.



