YKSITYINEN OFFSHORE-INFRASTRUKTUURI
Tallennus ja palautusEdistynyt · 6 min lukuaika

Mittaa NVMe-suorituskykyä johtamatta itseäsi harhaan

Määritä I/O-kuvio, hallitse välimuistivaikutuksia ja tarkastele viivejakaumia ennen kuin teet sovelluspäätelmän levytestistä.

Kirjoittaja SwissOctet Editorial
SUORA VASTAUS

Hyödyllinen tallennustesti sovittaa toimintokoon, käyttökuvion, samanaikaisuuden ja kestävyysvaatimukset sovellukseen. Kirjaa testiolosuhteet ja viivejakauma ja vahvista tulos sovellusmittauksilla.

01

Aloita tallennuskysymyksestä, älä pistemäärästä

Päätä, mitä sinun on tiedettävä ennen vertailuarvon suorittamista. Saatat tutkia hitaita tietokantakommitteja, tiedostojen jakelun läpäisyä tai koontiprosessia, joka luo paljon pieniä tiedostoja. Nämä työkuormat eivät pyydä levyltä samaa asiaa. Suuri peräkkäinen kopio voi näyttää vaikuttavalta, mutta kertoo vähän pienten satunnaislukujen viiveestä, jonka palvelu kokee.

NVMe suunniteltiin haihtumattomille tallennusvälineille ja tehokkaalle rinnakkaiselle I/O:lle, mutta sen protokollan nimi ei kuvaa jokaista isännöidyn tallennuspolun osaa. Virtualisointi, tiedostojärjestelmä, resurssien kilpailu ja sovellus ovat edelleen merkityksellisiä. Kirjoita testihypoteesi, kuten hidastaako tallennusviive tiettyä toimintoa, sen sijaan että yrittäisit tuottaa luvun, joka todistaisi koko palvelimen olevan nopea.

02

Kuvaile työkuorma toistettavasti

Kirjaa toimintokoko, peräkkäinen tai satunnainen kuvio, luku-kirjoitus-suhde, työtehtävien määrä ja jonon syvyys. Sisällytä tietojoukon koko ja testin kesto. Fion dokumentaatio selittää nämä työkuorman ohjaimet ja käytettävissä olevat I/O-moottorit. Kaikki moottorit tai asetukset eivät välttämättä saavuta aiottua syvyyttä, joten lue sekä raportoitu käyttäytyminen että pyytämäsi kokoonpano.

Säilytä kopio testikuvauksesta tuloksen vieressä. Merkitse muistiin käyttöjärjestelmä, tiedostojärjestelmä, liittymisasetukset, palvelun aktiivisuus ja käytettävissä oleva kapasiteetti. Jos vertailet kokoonpanoja, muuta yhtä olennaista ehtoa kerrallaan. Testiä, jossa on erilainen käyttökuvio tai samanaikaisuus, ei voi reilusti esittää ikään kuin vain tallennusväline olisi muuttunut.

Sovelluksen kuvioKuvattava testiulottuvuusTarkasteltava tulos
Suuren tiedoston toimitusPeräkkäiset luvut ja samanaikaiset asiakkaatYlläpidetty läpäisy ja CPU:n käyttö
TietuehakuPienet satunnaisluvut ja edustava samanaikaisuusViivejakauma ja suoritetut toiminnot
Kestävä tapahtumaKirjoitus- ja synkronointivaatimuksetKommittiin liittyvä viive, ei pelkkä puskuroitu kirjoitusnopeus
Koonti tai purkuSekalaiset pienitiedostotoiminnotPäästä päähän -työn kesto ja I/O-odotukset
03

Hallitse välimuistia teeskentelemättä, ettei sillä ole väliä

Tietojoukko, joka mahtuu muistiin, voi mitata lähinnä välimuistin käyttäytymistä ensimmäisen kierroksen jälkeen. Tästä voi olla hyötyä, jos sovellus normaalisti hyötyy samasta välimuistista, mutta sitä ei pidä merkitä raa'an laitteen suorituskyvyksi. Valitse tarkoituksella, tutkiiko testi lämmintä sovelluspolkua, kylmempää tietojoukkoa vai I/O-tilaa, jonka tarkoitus on vähentää käyttöjärjestelmän puskurointivaikutusta.

Suoran I/O:n tuki ja kohdistus riippuvat alustasta ja moottorista. Se ei myöskään automaattisesti ilmaise sovelluksen kestävyysvaatimuksia tai poista kaikkia välimuisteja pinosta. Ilmoita valittu tila selvästi ja vältä puskuroidun testin vertaamista puskuroimattomaan testiin ikään kuin ne edustaisivat samaa työtä. Pidä lämmittely- ja mittausjaksot erillään, jos se auttaa tulkintaa.

04

Lue viiveen häntäpäätä läpäisyn ohella

Keskimääräinen viive voi peittää alleen hitaita toimintoja, jotka vaikuttavat todellisiin pyyntöihin. Tutki raportoituja prosenttipisteitä ja niiden taustalla olevien näytteiden määrää. Korkea prosenttipiste kuvaa rajaa, jonka alapuolelle tietty osuus havaituista toiminnoista jäi kyseisen testin aikana; se ei ole pysyvä palvelutakuu. Lyhyet tai epäedustavat ajot antavat rajallista näyttöä kiireisistä tuotantojaksoista.

Suurempi jonon syvyys voi parantaa suoritettua läpäisyä samalla kun odotusaika kasvaa. Tämä kompromissi voi sopia eräajoon ja haitata interaktiivista palvelua. Vertaa tuloksia samanaikaisuudella, joka muistuttaa sovellusta, ja seuraa samanaikaisesti CPU:ta ja I/O-painetta. Pysäytä ennen kuin testi aiheuttaa tarpeetonta häiriötä toiselle ympäristön jakavalle työkuormalle.

05

Pidä testi valtuutettuna ja tuhoamattomana

Käytä erillistä testihakemistoa tai valmisteltua kertakäyttöistä taltiota, jossa on riittävästi vapaata tilaa ja selkeä siivoussuunnitelma. Älä koskaan kohdista kirjoitusvertailuarvoa vahvistamattomaan raakalaitteeseen tai tuotantotietojoukkoon. Tarkista työkalun kohde ja kirjoituskäyttäytyminen ennen aloittamista ja aloita rajoitetulla ajolla. Synteettinen I/O voi kuluttaa kapasiteettia ja häiritä palveluita, vaikka se ei korvaisi hyödyllisiä tiedostoja.

Tuotannon kaltaista arviointia varten sovi huoltoikkunasta ja säilytä sovellusvalvonta. Käytä mahdollisuuksien mukaan keksittyä dataa. Älä päättele tallennuksen luotettavuutta nopeustestistä: eheystarkistukset, varmuuskopiot ja palauttaminen ovat erillisiä tehtäviä. Laite, joka suorittaa vertailuarvon, tarvitsee silti palautumisstrategian poistamisen, ohjelmistovirheiden tai koneen menettämisen varalle.

06

Sulje silmukka sovellusnäytöllä

Oletetaan, että raportointipalvelu viettää suuren osan ajastaan odottaen satunnaislukuja. Tiimi testaa edustavaa lukukuviota ja toistaa sitten varsinaisen raportin vastaavilla tiedoilla. Jos raportti paranee muun työn pysyessä vakaana, tulos tukee tallennushypoteesia. Jos ei, tutki kyselyn suunnittelua, muistia tai muuta riippuvuutta sen sijaan, että toistaisit laajempia synteettisiä testejä.

Pulse NVMe ja valitut erilliset kokoonpanot luettelevat NVMe-tallennuksen SwissOctet-luettelossa. Niiden tunnisteet ovat teknisiä tietoja, eivät julkaistuja sovellusvertailuarvoja. Käytä hallittua menetelmää toimitetun ympäristön arvioimiseen ja säilytä olosuhteet havaintojen kanssa. Päätöksestä tulee vahvempi, kun tallennusmittaus ja käyttäjälle näkyvä tulos vastaavat samaan kysymykseen.

MUUNNA SE TOIMINNAKSI

Käytännön tarkistuslistasi.

  • Määrittele ensin sovelluskysymys.
  • Kirjaa kuvio, lohkokoko, samanaikaisuus ja kesto.
  • Ilmoita välimuistin ja I/O-tilan oletukset.
  • Tarkastele viiveen prosenttipisteitä sekä läpäisyä.
  • Käytä vahvistettua kertakäyttökohdetta ja rajoitettua aloituskuormaa.
  • Vahvista havainto sovellustestillä.
YLEISET KYSYMYKSET

Olennaiset yksityiskohdat.

Riittääkö peräkkäinen kopio tietokantatallennuksen vertaamiseen?+

Yleensä ei. Tietokantakäyttö voi sisältää pieniä satunnaislukuja, kirjoituksia ja synkronointia. Mallinna olennainen kuvio ja vahvista varsinainen sovellus.

Todistaako suora I/O kestävät kirjoitukset?+

Ei. Puskurointi ja kestävyys ovat eri asioita. Sovita synkronointikäyttäytyminen sovelluksen vaatimaan tapaan.

Voinko julkaista yhden testin taattuna suunnitelman nopeutena?+

En. Julkaise sen olosuhteet ja laajuus. Yhdestä ajosta mitattu tulos ei ole palvelutason tai tulevan suorituskyvyn tae.

ENSISIJAISET LÄHTEET

Mene lähteelle.

Nämä lähteet tukevat tämän oppaan teknisiä käsitteitä. Noudata ajantasaisia dokumentaatioita ennen tuotantojärjestelmän muuttamista.

  1. fio: Joustavan I/O-testityökalun dokumentaatio fio.readthedocs.io
  2. NVM Express: Teknisen määrittelyn yleiskatsaus ja UKK nvmexpress.org
  3. Linux-ydin: Pressure Stall Information docs.kernel.org

Toimituksellinen ohjaus: SwissOctet. Esimerkit ovat havainnollistavia. Palvelumääritykset, saatavilla olevat vaihtoehdot ja sopimusehdot on tarkistettava erikseen.

YHDISTÄ TIETO

Aiheeseen liittyvä infrastruktuuri.

PIDÄ LANGANPÄÄ

Seuraavat kenttämuistiinpanosi.

Tutustu kaikkiin oppaisiin
KENTTÄMUISTIINPANO / 01
Tallennus ja palautusPerusta

Milloin NVMe vaikuttaa sovellukseesi

Erota kapasiteetti, viive ja läpäisy, jotta nopeamman tallennustilan merkintä vastaa todelliseen sovellusongelmaan.

4 min lukuLue opas