Válaszidő tesztelése: Hogyan mérjük az API teljesítményét?

⚡ Okos összefoglaló

A válaszidő tesztelése azt méri, hogy mennyi idő alatt válaszol egy rendszer egy kérésre attól a pillanattól kezdve, hogy a felhasználó elküldi, egészen addig, amíg az alkalmazás jelzi a befejezést. Ez az útmutató bemutatja a mérőszámokat, a három fontos küszöbértéket és az azokat rögzítő eszközöket.

  • ⏱️ Alapvető definíció: A válaszidő a teljes oda-vissza utat lefedi, a kérés elküldésétől a feldolgozás befejezéséig.
  • 📊 Három mutató: Az átlagos válaszidő, a csúcsválaszidő és a hibaszázalék együttesen írja le a rendszer viselkedését.
  • 🟢 0.1 másodperc: Azonnali érzés, a felhasználó számára nem érzékelhető megszakítás.
  • 🟡 1 másodperc: A gondolatok zavartalan áramlásának felső határa.
  • ???? 10 másodperc: A figyelem határa, bár a gyakorlatban a felhasználók már jóval előtte feladják.
  • 🧪 Mérési módszer: Csomagolja be az üzleti folyamatot kezdő és záró tranzakciókba egy terheléstesztelő eszközben.

Válaszidő tesztelése

Mi az a válaszidő tesztelés?

Válaszidő tesztelése Azt méri, hogy egy rendszercsomópont mennyi idő alatt válaszol egy másik kérésére. Ez az az időköz, amely egy kérés beérkezése és a hozzá tartozó folyamat befejezése között telik el. Például van egy API-nk, és pontosan tudni szeretnénk, mennyi időbe telik a végrehajtása és az adatok JSON-ban történő visszaadása. A válaszidő minden egyes tranzakció vagy lekérdezés szerverválaszát méri.

A válaszidő akkor kezdődik, amikor a felhasználó kérést küld, és azzal az időponttal ér véget, amikor az alkalmazás kijelenti, hogy a kérés befejeződött.

A válaszidő mérése

A válaszidő mérésére, teszteszközöket használhatunk, ha egy fontos üzleti folyamatot körbeveszünk a Start és End tranzakciókkal. Az üzleti folyamat lehet egy művelet vagy műveletek halmaza, amelyet a felhasználók az alkalmazásban hajtanak végre egy üzleti feladat elvégzése érdekében, például bejelentkezés az alkalmazásba vagy könyv vásárlása Amazon.com

Válaszidő tesztelése
Válaszidő tesztelése

Az API válaszidő mérésére szolgáló ugyanazon folyamat esetén a válasz eszközről eszközre kissé eltér. Íme, miért

  • Step 1) Az egyes API-válaszidő-teszteszközök által összegyűjtött metrikák kiszámításának módszere
  • Step 2) Eszközök Szimulálja a betöltési és rögzítési sebességet, ami megváltoztathatja a válaszidőt
  • Step 3) A felhasználói betöltések figyelésekor rögzített további elemek
  • Step 4) Az egyes eszközök által összegyűjtött metrikák számítása megnöveli a válaszidőt a magas erőforrás-felhasználás miatt.
  • Step 5) A két eszköz felépítése eltérő lehet

A válaszmérők típusai

Válaszidő mérőszámai Magyarázat
Átlagos válaszidő Az átlagos válaszidő az összes oda-vissza útra vonatkozó kérés átlagos időtartama. Az átlagos válaszidő tartalmazza a HTML, CSS, XML, képek, JavaSzkriptfájlok stb. Ezért az átlagot befolyásolja, ha lassú összetevők vannak jelen a rendszerben.
Csúcs válaszidő A válaszadási csúcsidő segít megtalálni a potenciálisan problémás összetevőket. Segít abban, hogy megtaláljuk a weboldalon vagy rendszerben minden olyan szabálytalanságot, ahol egy adott kérést nem kezelnek megfelelően. Például előfordulhat, hogy egy nagy adatbázis-lekérdezést hajtanak végre, amely befolyásolhatja a válaszidőt. Ez a lekérdezés nem teszi lehetővé az oldal kívánt időpontban történő betöltését.
Hibaarány A hibaszázalék egy matematikai számítás, amely a problémás kérések százalékos arányát mutatja az összes kéréshez képest. Ez a százalékos arány az összes HTTP állapotkódot tartalmazza, amelyek hibát jeleznek a szerveren. Számolja azokat a kéréseket is, amelyek időtúllépést szenvedtek.

Három fontos válaszidő-küszöbérték

Két adat számít a leginkább bármely válaszidő-jelentésben:

  • Átlagos válaszidő
  • Maximális vagy csúcs válaszidő

Együttesen azt mutatják, hogy egy felhasználó jellemzően mennyi ideig vár, és mennyi ideig a legszerencsétlenebb felhasználó.

Az alábbiakban a kulcsfontosságú válaszidő tesztelési példaértékek találhatók

Válaszidő Jelentősége
0.1 Második Ez a legelőnyösebb válaszidő. Ha a válaszidő 0.1, a felhasználók mindig úgy érzik, hogy az alkalmazás vagy a rendszer azonnal válaszol, és nem éreznek semmilyen megszakítást.
1.0 Második Ez a megszakítás nélküli élmény elfogadott felső határa. A felhasználók valószínűleg nem fognak megszakítást érezni, bár némi késést tapasztalhatnak. Az 1 másodpercnél hosszabb válaszidő megszakíthatja a felhasználói élményt.
10 másodperc Ez egy maximális határ, amely után a válaszidő meghaladja az elfogadható határt. A mai idő szerint azonban, ha a válaszidő meghaladja a 6 másodpercet, a felhasználó elhagyja a webhelyet, vagy kilép az alkalmazásból.

Amikor csak lehetséges, a 0.1–1 másodperces sávra törekedjen. A felhasználók alkalmazkodnak a lassabb rendszerekhez, de az elégedettség 2 másodperc felett meredeken csökken, és minden további másodperc növeli az elhagyási arányt.

Válaszidő-tesztelő eszközök

Számos válaszidő-tesztelő eszköz áll rendelkezésre. A két legszélesebb körben használt a következő:

1) JMeter

Apache JMeter egy nyílt forráskódú terhelést vizsgáló eszköz. A webhelyek teljesítményének mérésére szolgál. Ez a terheléstesztelő eszköz a DevOps módszertanban használható.

JMeter

Jellemzők:

  • JMeter lehetővé teszi a terhelési és teljesítményteszt elvégzését különböző szervertípusokhoz.
  • Ez a terhelési tesztelő eszköz XML formátumban tárolja a tesztterveket, amely lehetővé teszi a felhasználók számára, hogy szövegszerkesztővel állítsák elő a teszttervet.
  • Az eszközzel automatizált és funkcionális tesztelés az alkalmazások közül.

Download link: Apache JMeter letöltések


2) Teherfutó

Loadrunner A Micro Focus egy széles körben használt terheléstesztelő eszköz. Ez az egyik legjobb alternatíva a JMeter amely felhasználóbarát megfigyelési és elemzési felületet kínál színes diagramokkal és grafikákkal.

Terhelési futó

Jellemzők:

  • Támogatja a folyamatos tesztelést
  • A LoadRunner több vállalati környezetben is hatékonyan tud dolgozni
  • Több protokoll szkript futtatása is lehetséges a következővel: Loadrunner
  • Integráció különféle fejlesztőeszközökkel, mint pl Visual Studio, Jenkins, SeleniumStb

Download link: LoadRunner Professional

Hogyan illeszkedik ez a teszt a teljesítménytesztelési családba

A teljesítménytesztelés egy gyűjtőfogalom. Az alábbi változatok csak az alkalmazott terhelés alakjában és annak időtartamában különböznek, ezért gyakran összekeverik őket egymással.

Teszt típusa Betöltési minta Kérdés, amit megválaszol
Terhelési tesztelés Várható csúcsterhelés, rövid időtartam Eléri-e a rendszer a céljait normál csúcsforgalom mellett?
Stressz tesztelés Kapacitáson túl növelve, egészen meghibásodásig Hol törik el, és kecsesen meghibásodik?
Tüskék tesztelése Hirtelen extrém hullám, majd megvonás Túléli és felépül egy közlekedési sokk után?
Tartóssági vizsgálat Normál terhelés sok órán át Idővel romlik a teljesítmény?
Áztatási tesztelés Tartós terhelés hosszabb időn keresztül Vannak memóriaszivárgások vagy erőforrás-kimerülések?
Stabilitási vizsgálat Változó terhelés a körülményektől függően Megbízható marad-e a rendszer a változó körülmények ellenére is?
Térfogatvizsgálat Átlagos felhasználók, nagyon nagy adatmennyiség Vajon bírja az adatbázis növekedését?

A tartóssági és az átitatási vizsgálatot gyakran szinonimaként kezelik. Gyakori használatuk szerint mindkettő hosszú ideig tartós terhelést tart. Ahol a csapatok különbséget tesznek közöttük, a tartóssági tesztelés arra összpontosít, hogy a válaszidők felfelé csúsznak-e, míg a tartóssági tesztelés az erőforrás-fogyasztásra, például a memóriára, a fájlkezelőkre és a kapcsolatkészletekre összpontosít. Az egyik futtatása általában mindkettőre bizonyítékot szolgáltat.

Válaszidő tesztelése: Főbb tanulságok

  • A válaszidő az az idő, amely alatt egy rendszercsomópont válaszol egy másik kérésére.
  • Az átlagos válaszidő benn Teljesítményfelmérés az összes oda-vissza útra vonatkozó kérés átlagos időtartama.
  • A csúcs válaszidő feltárja, mely komponensek lehetnek potenciálisan problémásak.
  • A hibaarány egy matematikai számítás, amely megjeleníti a problémás kérések százalékos arányát.
  • Három kulcsfontosságú válaszidő érték: 0.1 másodperc, 1.0 másodperc és 10 másodperc.
  • A két legszélesebb körben használt válaszidő-tesztelő eszköz a JMeter és a LoadRunner.

GYIK

A késleltetés a kérés hálózati átfutási ideje. A válaszidő magában foglalja a késleltetést, valamint az összes szerverfeldolgozást és renderelést. Egy gyors hálózat is gyenge válaszidőket produkálhat, ha a szerver lassú.

Az átlag elrejti a kiugró értékeket. Egy 800 ms-os átlagot elérő rendszer, amelynek 95. percentilis értéke 9 másodperc, minden huszadik felhasználót elbuktat, és ezt csak a percentilis mutatja.

Interaktív műveletek esetén célozd meg az 1 másodperc alatti, teljes oldalbetöltések esetén pedig a 2 másodperc alatti időtartamot. 3 másodperc felett az elhagyási arány meredeken emelkedik, függetlenül attól, hogy mit sugall az elméleti 10 másodperces korlát.

A mesterséges intelligencia alapú monitorozás végpontonként normál alapértéket határoz meg, és automatikusan jelzi az eltéréseket, lecserélve azokat a fix küszöbértékeket, amelyek zajt generálnak a várható forgalmi csúcsok idején.

Igen. A korábbi teljesítményen végzett futtatásokon betanított modellek képesek megjelölni, hogy mely kódmódosítások lassíthatják le valószínűleg a végpontot. Minden előrejelzést egy ténylegesen mért futtatással kell megerősíteni.

Foglald össze ezt a bejegyzést a következőképpen: