Mitä tilavuustestaus on? Opi esimerkkien avulla

⚡ Älykäs yhteenveto

Volyymitestaus altistaa sovelluksen erittäin suurelle määrälle dataa nähdäkseen, miten tallennustila, kyselyt ja vasteajat käyttäytyvät tietokannan kasvaessa. Sitä kutsutaan myös tulvatestaukseksi, ja se skaalaa dataa käyttäjien määrän sijaan.

  • 💾 Ydinmääritelmä: Tiedon määrä kasvaa, mutta käyttäjäkuorma pysyy normaalina.
  • 🔍 Ensisijaiset tarkastukset: Tietojen menetys, hiljainen päällekirjoitus, tallennuksen tarkkuus ja vasteaika suuren tietojoukon alla.
  • 📈 Hajoamispiste: Testi paikantaa äänenvoimakkuuden, jolla vakaus ja suorituskyky alkavat heiketä.
  • 🇧🇷 Ei kuormitustestausta: Tallennustilavuus skaalaa rivien ja tiedostojen kokoja; kuormitus skaalaa samanaikaisia ​​käyttäjiä. Nämä kaksi löytävät erilaisia ​​vikoja.
  • 🧪 Datan realismi: Luodun datan on kunnioitettava avaimia ja relaatioiden eheyttä, mikä on testin vaikein osa.
  • 💰 Liiketoimintatapaus: Ennen julkaisua löydetyt kapasiteettirajoitukset maksavat murto-osan tuotannossa havaituista rajoituksista.

Mikä on volyymitestaus

Mitä on tilavuustestaus?

Äänenvoimakkuuden testaus on eräänlainen ohjelmistotestaus, jossa ohjelmisto altistetaan valtavalle datamäärälle. Siihen viitataan myös nimellä tulvatestit. Volyymitestaus tehdään järjestelmän suorituskyvyn analysoimiseksi lisäämällä tietokannan datamäärää.

Volumetestauksen avulla voidaan tutkia vaikutusta vasteaikaan ja järjestelmän käyttäytymiseen, kun altistuu suurelle määrälle dataa.

Esimerkiksi musiikin suoratoistopalvelua voidaan testata 50 miljoonan kappaleen luettelolla. tracks ja miljardeja rivejä sisältävä kuunteluhistoriataulukko, jotta nähdään, palauttavatko haku- ja suosituskyselyt edelleen hyväksyttävässä ajassa.

Huomaa ero: volyymitestaus lisää datan määrä järjestelmä pitää. Lisäämällä samanaikaisten käyttäjien määrä on kuormitustestaus, joka on erilainen testi, jolla on eri tavoite.

Volumetestauksen edut

  • Kapasiteettiongelmien tunnistaminen varhaisessa vaiheessa välttää niiden korjaamisesta tuotannossa aiheutuvat huomattavasti korkeammat kustannukset
  • Se auttaa skaalautuvuussuunnitelmien nopeassa käynnistämisessä
  • Pullonkaulojen varhainen tunnistaminen
  • Se varmistaa, että järjestelmäsi pystyy nyt käyttämään todellista käyttöä

Miksi volyymitestaus tehdään?

Volyymitestauksen suorittamisen tavoitteena on

  • Tarkista järjestelmän suorituskyky tietokannan tietomäärien kasvaessa
  • Tunnista ongelmat, joita todennäköisesti ilmenee, kun tietojoukko kasvaa suureksi
  • Selvittääksesi pisteen, jossa järjestelmän vakaus heikkenee
  • Volume Testing auttaa tunnistamaan järjestelmän tai sovelluksen kapasiteetin – normaalin ja raskaan äänenvoimakkuuden

Kuinka tehdä volyymitestaus

Volyymitestauksessa seuraavat asiat on testattava

  • Testaa, onko tietoja hävinnyt
  • Tarkista järjestelmän vasteaika
  • Tarkista, onko tiedot tallennettu oikein vai ei
  • Tarkista, onko tiedot ylikirjoitettu ilman ilmoitusta
  • Tarkista, että varoitukset ja virheilmoitukset todella tulevat näkyviin, kun äänenvoimakkuuden raja saavutetaan.
  • Tarkista, vaikuttaako suuri määrä dataa käsittelyn nopeuteen
  • Varmista, että järjestelmässä on aseman vaatimat muisti- ja tallennusresurssit
  • Varmista, että tilavuustesti kattaa koko järjestelmän yksittäisen komponentin sijaan
  • Onko olemassa riskiä, ​​jos datamäärä on ilmoitettua suurempi?
  • Selvitä, onko olemassa takeita siitä, ettei datamäärä ylitä määritettyä enimmäismäärää

Parhaat käytännöt suurten volyymien testaukseen

Useita alla olevista käytännöistä käytetään kuormitustestauksen kanssa, koska ne suoritetaan yleensä samassa ympäristössä. Määräkohtaiset käytännöt koskevat itse tietojoukkoa:

  • Pysäytä kaikki palvelimet ja tarkista kaikki lokit
  • Suorita sovellusskenaario manuaalisesti ennen kuormitustestiä
  • Hyödyllisimpien tulosten saamiseksi porrastele käyttäjien määrä
  • Lisenssirajoitusten voittamiseksi tasapainota ajatteluaika
  • Ole varovainen uuden rakenteen kanssa
  • Analysoi käyttötapa parannusta varten, kun lähtötaso on määritetty
  • Volyymitestauksen tiettyjen osien toistamisesta tulee väistämätöntä, jos suorituskyvyssä on pullonkaula

Volyymitestaus vs. kuormitustestaus

Äänenvoimakkuuden testaus Kuormitustesti
  • Volyymitestaus tarkistaa, miten sovellus toimii, kun tietokannassa on erittäin suuri määrä dataa.
  • Kuormitustestauksen aikana sovellus altistetaan tietylle kuormitustasolle sovelluksen toiminnan analysoimiseksi
  • Volyymitestaus varmistaa, että järjestelmä reagoi edelleen oikein tietyllä datamäärällä. Se tyypillisesti lisää tiedostojen ja taulukoiden kokoa.
  • Kuormitustestaus tarkistaa suorituskykyä samanaikaisen käyttäjäkuorman kasvaessa. Se tyypillisesti lisää samanaikaisten pyyntöjen määrää.

Volumetestauksen haasteita

  • Muistin pirstoutumista on vaikea luoda
  • Dynaaminen avainten sukupolvi
  • omainen Integrity luoduista tiedoista

Miten tämä testi vertautuu muihin suorituskykytesteihin

Suorituskykytestaus on testiryhmä, jotka eroavat toisistaan ​​käytetyn kuormituksen muodon suhteen, minkä vuoksi ne sekoitetaan niin helposti.

Testityyppi Mikä on lisääntynyt Kysymys, johon se vastaa
Kuormitustestaus Samanaikaiset käyttäjät odotettuun huippuun asti Täyttääkö se tavoitteet normaalin ruuhka-ajan liikenneolosuhteissa?
Volyymitestaus Tietokannassa olevat tiedot Selviytyykö se datajoukon kasvaessa?
Stressitestaus Kuorma yli kapasiteetin, kunnes vika Mistä se katkeaa ja miten?
Piikkitestaus Lataa välittömästi ja erittäin nopeasti Selviääkö ja toipuuko se järkytyksestä?
Kestävyystesti Kesto normaalilla kuormalla Heikentyykö suorituskyky ajan myötä?
Liotustestaus Kesto, resurssien tarkkailu Onko muistissa tai kahvoissa vuotoja?
Stabiliteettitestaus Vaihtelevat olosuhteet Pysyykö se luotettavana olosuhteiden muuttuessa?

Tärkein ero tässä: Volyymitestaus skaalaa dataa, kuormitustestaus skaalaa käyttäjiä. Raportilla, joka suoritetaan kahdessa sekunnissa kymmentätuhatta riviä vastaan ​​ja kahdessa minuutissa kymmentä miljoonaa riviä vastaan, on määräongelma, ei kuormitusongelma, eikä mikään lisäpalvelinkapasiteetti korjaa sitä.

Testidatan luominen volyymitestausta varten

Haasteosiossa todetaan, että realistisen datan luominen on volyymitestauksen vaikein osa. Käytännössä käytetään neljää lähestymistapaa, ja jokainen sisältää kompromissin.

Lähestymistapa Realismi Tärkein haittapuoli
Tuotantotietojen kopio Korkein Tietosuojan ja vaatimustenmukaisuuden altistuminen
Naamioitu tuotantokopio Korkea Maskaus voi rikkoa viittaus-eheyden
Synteettinen sukupolvi Keskikova Jakaumat eivät välttämättä vastaa todellisuutta
Toistettu tuotantoliikenne Korkea Vaatii talteenottoinfrastruktuurin

Riippumatta siitä, mitä reittiä valitset, kolmen ominaisuuden on oltava voimassa tai testi ei mittaa mitään hyödyllistä.

  • Viittaus-eheys. Jokaisen viiteavaimen on oltava selvitettävä. Miljoona orporiviä käyttää tallennusmoottoria, mutta eivät koskaan sovelluksen todellisia käyttämiä liitospolkuja.
  • Realistinen kardinaliteetti. Jos tuotantotaulukossa on kymmenen miljoonaa riviä kahdellasadalla asiakkaalla, kymmenen miljoonan rivin luominen kymmenelle miljoonalle asiakkaalle tuottaa täysin erilaiset kyselysuunnitelmat.
  • Realistinen jakauma. Todellinen data on vääristynyttä. Tasaisesti satunnainen data piilottaa käyttökatkokset ja indeksikilpailun, jotka aiheuttavat tuotantohäiriöitä.

Käytännön varoitus yksityisyydestä. Tuotantodatan kopioiminen testiympäristöön on yleisin tietomurron syy testauksessa. Peitä henkilökohtaiset kentät ennen kuin kopio lähtee tuotannosta, älä jälkeenpäin.

UKK

Volyymitestaus lisää järjestelmän datamäärää käyttäjäkuormituksen pysyessä normaalina. Kuormitustestaus lisää samanaikaisten käyttäjien määrää datajoukon pysyessä normaalina. Ne paljastavat erilaisia ​​pullonkauloja, joten molempia tarvitaan.

Aloita suunnitellun kapasiteettihorisontin lopussa, yleensä kahden tai kolmen vuoden kasvun aikana, mitatusta datamäärästä ja testaa sitten tällä luvulla ja sen kaksinkertaisella luvulla löytääksesi, mistä heikkeneminen alkaa.

Puuttuvat tai tehottomat indeksit, epälineaarisesti skaalautuvat kyselyt, tallennustilan loppuminen, kenttien hiljainen katkaisu ja eräajot, joiden suoritusaika ylittää niille käytettävissä olevan ikkunan.

Tekoälymallit oppivat tuotantodatan tilastollisen jakauman ja suhteet ja luovat sitten synteettisiä tietueita, jotka säilyttävät nämä ominaisuudet paljastamatta todellisia asiakastietoja.

Kyllä, jossain määrin. Mitattuihin hajoamiskäyriin sovitetut mallit ekstrapoloivat vikaantumispisteen, mutta ennuste on vahvistettava todellisella ajolla, ennen kuin se ohjaa kapasiteettipäätöstä.

Tiivistä tämä viesti seuraavasti: