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.

  • 💾 Põhidefinitsioon: Andmemaht suureneb, samal ajal kui kasutajakoormus jääb normaalseks.
  • 🔍 Esmased kontrollid: Andmete kadu, vaikne ülekirjutamine, salvestustäpsus ja reageerimisaeg suure andmekogumi korral.
  • 📈 Lagunemispunkt: Test määrab kindlaks helitugevuse, mille juures stabiilsus ja jõudlus hakkavad langema.
  • 🇧🇷 Mitte koormustesti: Köide skaleerib ridade ja failide suurust; koormus skaleerib samaaegseid kasutajaid. Need kaks leiavad erinevaid defekte.
  • 🧪 Andmete realism: Genereeritud andmed peavad austama võtmeid ja relatsioonilist terviklikkust, mis on testi kõige raskem osa.
  • 💰 Ärimudeli: Enne väljalaset leitud mahutavuse piirangud maksavad murdosa tootmisversioonis leitud piirangutest.

Mis on mahu testimine

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
  • Mahutestimine kontrollib, kuidas rakendus käitub, kui andmebaasis on väga suur hulk andmeid.
  • Koormustestimise ajal allutatakse rakendus teatud koormusele, et analüüsida rakenduse käitumist
  • Mahu testimine kontrollib, kas süsteem reageerib antud andmemahu korral endiselt õigesti. Tavaliselt suurendab see failide ja tabelite mahtu.
  • Koormustestimine kontrollib jõudlust samaaegse kasutajakoormuse suurenedes. Tavaliselt suurendab see samaaegsete päringute arvu.

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.

KKK

Mahttestimine suurendab süsteemis olevate andmete hulka, samal ajal kui kasutajate koormus püsib normaalne. Koormustestimine suurendab samaaegsete kasutajate arvu, samal ajal kui andmekogum püsib normaalne. Need paljastavad erinevaid kitsaskohti, seega on vaja mõlemat.

Alustage prognoositavast andmemahust planeeritud võimsushorisondi lõpus, mis on tavaliselt kaks kuni kolm kasvuaastat, seejärel testige selle arvu juures ja seejärel kahekordse mahu juures, et leida, kust halvenemine algab.

Puuduvad või ebaefektiivsed indeksid, mittelineaarselt skaleeruvad päringud, salvestusruumi ammendumine, väljade vaikne kärpimine ja partii-tööd, mille käitusaeg ületab nende jaoks saadaolevat akent.

Tehisintellekti mudelid õpivad tootmisandmete statistilist jaotust ja seoseid ning seejärel genereerivad sünteetilisi kirjeid, mis säilitavad need omadused ilma tegelikke kliendiandmeid paljastamata.

Jah, teatud määral. Mõõdetud degradatsioonikõveratele sobitatud mudelid ekstrapoleerivad rikkepunkti, kuid enne võimsusotsuse langetamist tuleb prognoos kinnitada tegeliku katsetusega.

Võta see postitus kokku järgmiselt: