Mis on mahutestimine? Õppige näidete abil
⚡ Nutikas kokkuvõte
Mahutestimine (ingl k hulstestimine) rakendab rakendusele väga suurt hulka andmeid, et näha, kuidas salvestusruum, päringud ja reageerimisajad andmebaasi kasvades käituvad. Seda nimetatakse ka üleujutustestimiseks ja see skaleerib andmeid, mitte kasutajate arvu.

Mis on mahutestimine?
Helitugevuse testimine on tarkvara testimise tüüp, kus tarkvara allutatakse tohutule hulgale andmetele. Seda nimetatakse ka üleujutuse testimine. Mahutestimine toimub süsteemi jõudluse analüüsimiseks, suurendades andmebaasis olevate andmete mahtu.
Mahu testimise abil saab suure andmemahuga kokkupuutel uurida mõju reaktsiooniajale ja süsteemi käitumisele.
Näiteks võidakse muusika voogedastusteenust testida 50 miljoni looga kataloogiga. tracks ja miljardite ridadega kuulamisajaloo tabel, et näha, kas otsingu- ja soovituspäringud vastavad endiselt vastuvõetava aja jooksul.
Pane tähele erinevust: mahu testimine suurendab andmete hulk süsteem hoiab kinni. Suurendades samaaegsete kasutajate arv on koormustestimine, mis on teistsugune test, millel on erinev eesmärk.
Mahu testimise eelised
- Võimsusprobleemide varajane tuvastamine aitab vältida nende tootmises lahendamisega seotud palju kõrgemaid kulusid.
- See aitab skaleeritavuse plaane kiiremini käivitada
- Kitsaskohtade varajane tuvastamine
- See tagab, et teie süsteem on nüüd võimeline reaalseks kasutamiseks
Miks teha mahutestimist?
Helitugevuse testimise eesmärk on
- Kontrollige süsteemi jõudlust andmebaasis kasvavate andmemahtudega
- Tuvastage probleemid, mis tõenäoliselt ilmnevad, kui andmestik suureks kasvab
- Et selgitada välja punkt, kus süsteemi stabiilsus halveneb
- Helitugevuse testimine aitab tuvastada süsteemi või rakenduse võimsust – tavalist ja suurt mahtu
Kuidas teha mahu testimist
Mahu testimisel tuleb testida järgmisi asju
- Testige, et kontrollida, kas andmekadu on toimunud
- Kontrollige süsteemi reaktsiooniaega
- Kontrollige, kas andmed on õigesti salvestatud või mitte
- Kontrollige, kas andmed on ilma teavituseta üle kirjutatud
- Kontrollige, kas helitugevuse piirangu saavutamisel kuvatakse hoiatused ja veateated.
- Kontrollige, kas suur andmemaht mõjutab töötlemise kiirust
- Veenduge, et süsteemil on piisavalt mälu ja salvestusruumi, mida köide vajab
- Veenduge, et mahutest hõlmab kogu süsteemi, mitte ühte komponenti
- Kas on oht, kui andmemaht on ettenähtust suurem?
- Tehke kindlaks, kas on olemas garantii, et andmemaht ei ületa määratud maksimaalset mahtu.
Suuremahulise testimise parimad tavad
Mitmed allpool toodud tavad on koormustestimisega ühised, kuna neid kahte käitatakse tavaliselt samas keskkonnas. Mahupõhised tavad puudutavad andmekogumit ennast:
- Peatage kõik serverid ja kontrollige kõiki logisid
- Enne koormustesti käivitage rakenduse stsenaarium käsitsi
- Kõige kasulikumate tulemuste saamiseks jaotage kasutajate arv järk-järgult
- Litsentsipiirangutest ülesaamiseks tasakaalustage mõtlemisaega
- Olge uue ehitusega ettevaatlik
- Kui lähtetase on kindlaks tehtud, analüüsige kasutusjuhtu parandamiseks
- Mahu testimise teatud osade kordamine muutub jõudluse kitsaskoha korral vältimatuks
Mahutestimine vs koormustestimine
| Helitugevuse testimine | Koormuse testimine |
|---|---|
|
|
|
|
Väljakutsed mahutestimisel
- Mälu killustumist on raske genereerida
- Võtmete dünaamiline genereerimine
- Suhteline Integrity loodud andmetest
Kuidas see test teiste jõudlustestidega võrreldes on
Jõudlustestid on testide perekond, mis erinevad rakendatava koormuse kuju poolest, mistõttu neid on nii lihtne segi ajada.
| Katse tüüp | Mis on suurenenud | Küsimus, millele see vastab |
|---|---|---|
| Koormustestimine | Samaaegsete kasutajate arv eeldatava tipptasemeni | Kas see vastab eesmärkidele tavapärase tippliikluse korral? |
| Mahu testimine | Andmebaasis hoitavad andmed | Kas see saab hakkama andmestiku kasvades? |
| Stressitestimine | Koormus üle kandevõime kuni rikkeni | Kus see katki läheb ja kuidas? |
| Spike testimine | Laadimine, koheselt ja äärmiselt | Kas see jääb ellu ja taastub šokist? |
| Vastupidavuse testimine | Kestus normaalkoormusel | Kas jõudlus aja jooksul halveneb? |
| Leotustestimine | Kestus, ressursside jälgimine | Kas esineb mälu- või käepidemelekkeid? |
| Stabiilsuse testimine | Erinevad tingimused | Kas see jääb usaldusväärseks ka muutuvate tingimuste korral? |
Kõige olulisem erinevus siin on: Mahttestimine skaleerib andmeid, koormustestimine aga kasutajaid. Aruandel, mis töötab kümne tuhande rea puhul kahe sekundi ja kümne miljoni rea puhul kahe minutiga, on mahuprobleem, mitte koormusprobleem, ja ükski serverimahu täiendav maht seda ei lahenda.
Kuidas genereerida testandmeid mahu testimiseks
Väljakutsete osas märgitakse, et realistlike andmete genereerimine on mahulise testimise keeruline osa. Praktikas kasutatakse nelja lähenemisviisi ja igaüks neist hõlmab kompromisse.
| Lähenemine | Realism | Peamine puudus |
|---|---|---|
| Tootmisandmete koopia | Suurim | Privaatsus ja vastavusnõuetele vastavus |
| Maskeeritud tootmiskoopia | Kõrge | Maskeerimine võib rikkuda viitamise terviklikkust |
| Sünteetiline põlvkond | Keskmine | Jaotused ei pruugi tegelikkusega vastata |
| Taasesitatud tootmisliiklus | Kõrge | Nõuab püüdmisinfrastruktuuri |
Ükskõik millist teed valite, peavad kehtima kolm omadust või test ei mõõda midagi kasulikku.
- Viitamisterviklikkus. Iga võõrvõti peab olema lahendatud. Miljon orburida koormab salvestusmootorit, kuid mitte kunagi ei kasutata liitumisteid, mida rakendus tegelikult kasutab.
- Realistlik kardinaalsus. Kui tootmistabelis on kümme miljonit rida kahesaja kliendi kohta, siis kümne miljoni rea genereerimine kümne miljoni kliendi kohta loob täiesti erinevad päringuplaanid.
- Realistlik jaotus. Tegelikud andmed on moonutatud. Ühtlaselt juhuslikud andmed peidavad ära kuumad partitsioonid ja indeksiprobleemid, mis põhjustavad tootmisintsidente.
Praktiline hoiatus privaatsuse kohta. Tootmisandmete kopeerimine testkeskkonda on testimisel andmetega seotud lekke kõige levinum põhjus. Maskeeri isikuväljad enne koopia tootmiskeskkonnast lahkumist, mitte pärast.
