SOUKROMÁ OFFSHORE INFRASTRUKTURA
Úložiště a obnovaPokročilé · 6 min čtení

Měřte výkon NVMe, aniž byste se mýlili

Definujte vzorec I/O, kontrolujte vliv mezipaměti a prozkoumejte rozdělení latence, než z testu disku vyvodíte závěr o aplikaci.

Od SwissOctet Editorial
PŘÍMÁ ODPOVĚĎ

Užitečný test úložiště přizpůsobuje velikost operace, vzor přístupu, souběžnost a požadavky na trvalost aplikaci. Zaznamenejte podmínky testu a rozdělení latence a poté výsledek potvrďte měřeními aplikace.

01

Začněte otázkou úložiště, ne skóre

Před spuštěním benchmarku se rozhodněte, co potřebujete zjistit. Můžete zkoumat pomalé potvrzování databázových transakcí, propustnost distribuce souborů nebo proces sestavení, který vytváří mnoho malých souborů. Tyto pracovní zátěže nežádají disk o totéž. Velká sekvenční kopie může vypadat působivě, ale o zpoždění, které zažívá služba provádějící malá náhodná čtení, toho mnoho neříká.

NVMe bylo navrženo pro energeticky nezávislá média a efektivní paralelní I/O, ale jeho název protokolu nepopisuje každou část hostované cesty úložiště. Virtualizace, systém souborů, soupeření o prostředky a aplikace stále hrají roli. Napište hypotézu testu, například zda latence úložiště zpomaluje konkrétní operaci, místo abyste se snažili vytvořit číslo, které prokáže, že celý server je rychlý.

02

Popište pracovní zátěž reprodukovatelně

Zaznamenejte velikost operace, sekvenční nebo náhodný vzor, poměr čtení a zápisu, počet úloh a hloubku fronty. Uveďte velikost souboru dat a dobu trvání testu. Dokumentace fio vysvětluje tyto ovládací prvky pracovní zátěže a dostupné I/O enginy. Zamýšlené hloubky nemusí být dosaženo každým enginem nebo nastavením, proto čtěte i hlášené chování, nejen požadovanou konfiguraci.

Uchovávejte kopii popisu testu vedle výsledku. Poznamenejte operační systém, systém souborů, možnosti připojení, aktivitu služeb a dostupnou kapacitu. Pokud porovnáváte konfigurace, měňte vždy jednu relevantní podmínku. Test s odlišným vzorem přístupu nebo souběžností nelze spravedlivě prezentovat, jako by se změnilo pouze úložné médium.

Vzor aplikaceRozměr testu k popisuVýsledek ke zkoumání
Dodání velkého souboruSekvenční čtení a souběžní klientiTrvalá propustnost a využití CPU
Vyhledání záznamuMalá náhodná čtení a reprezentativní souběžnostRozdělení latence a dokončené operace
Trvalá transakcePožadavky na zápis a synchronizaciZpoždění související s potvrzením, nikoli pouze rychlost zapisování do vyrovnávací paměti
Sestavení nebo extrakceSmíšené operace s malými souboryDoba trvání úlohy od začátku do konce a čekání na I/O
03

Řiďte ukládání do mezipaměti, aniž byste předstírali, že nezáleží

Soubor dat, který se vejde do paměti, může po prvním průchodu měřit převážně chování mezipaměti. To může být užitečné, pokud aplikace běžně těží ze stejné mezipaměti, ale nemělo by to být označováno jako výkon holého zařízení. Vědomě zvolte, zda test zkoumá teplou cestu aplikace, chladnější soubor dat nebo režim I/O určený ke snížení efektu ukládání do vyrovnávací paměti operačního systému.

Podpora přímého I/O a zarovnání závisí na platformě a enginu. Rovněž automaticky nevyjadřuje požadavky aplikace na trvalost ani neodstraňuje všechny mezipaměti v zásobníku. Jasně uveďte zvolený režim a vyhněte se srovnávání testu s vyrovnávací pamětí a testu bez ní, jako by představovaly stejnou práci. Pokud to pomůže interpretaci, oddělte zahřívací a měřené intervaly.

04

Čtěte ocasy latence spolu s propustností

Průměrná latence může skrývat pomalé operace, které ovlivňují skutečné požadavky. Zkoumejte hlášené percentily a počet vzorků, které za nimi stojí. Vysoký percentil popisuje hranici, pod kterou během tohoto testu spadl uvedený podíl pozorovaných operací; není trvalou zárukou služby. Krátké nebo nereprezentativní běhy poskytují omezené důkazy o vytížených produkčních obdobích.

Vyšší hloubka fronty může zlepšit dokončenou propustnost a zároveň zvýšit dobu čekání. Tento kompromis může vyhovovat dávkovému zpracování a škodit interaktivní službě. Porovnávejte výsledky při souběžnosti, která se podobá aplikaci, a současně sledujte CPU a tlak na I/O. Zastavte se dříve, než test vytvoří zbytečné narušení pro jinou pracovní zátěž sdílející prostředí.

05

Udržujte test autorizovaný a nedestruktivní

Použijte vyhrazený testovací adresář nebo připravený jednorázový svazek s dostatkem volného místa a výslovným plánem úklidu. Nikdy nemiřte zápisový benchmark na neověřené holé zařízení nebo produkční soubor dat. Před spuštěním zkontrolujte cíl nástroje a chování zápisu a začněte omezeným během. Syntetické I/O může spotřebovávat kapacitu a narušovat služby, i když nepřepisuje užitečné soubory.

Pro hodnocení podobné produkci si dohodněte okno údržby a zachovejte monitorování aplikace. Pokud je to možné, použijte vymyšlená data. Z rychlostního testu neusuzujte na spolehlivost úložiště: kontroly integrity, zálohy a obnovení jsou samostatné úkoly. Zařízení, které dokončí benchmark, stále potřebuje strategii obnovy pro smazání, softwarové chyby nebo ztrátu stroje.

06

Uzavřete smyčku důkazy z aplikace

Předpokládejme, že služba pro vytváření sestav tráví mnoho času čekáním na náhodná čtení. Tým otestuje reprezentativní vzor čtení a poté zopakuje skutečnou sestavu proti srovnatelným datům. Pokud se sestava zlepší, zatímco její ostatní práce zůstane stabilní, výsledek podporuje hypotézu o úložišti. Pokud ne, zkoumejte návrh dotazu, paměť nebo jinou závislost, místo abyste opakovali širší syntetické testy.

Pulse NVMe a vybrané vyhrazené konfigurace uvádějí úložiště NVMe v katalogu SwissOctet. Jejich označení jsou specifikace, nikoli zveřejněné benchmarky aplikací. Pomocí řízené metody vyhodnoťte dodané prostředí a uchovejte podmínky spolu se zjištěními. Rozhodnutí je silnější, když měření úložiště a výsledek viditelný pro uživatele odpovídají na stejnou otázku.

PŘEVEĎTE TO V AKCI

Váš praktický kontrolní seznam.

  • Nejprve definujte otázku aplikace.
  • Zaznamenejte vzor, velikost bloku, souběžnost a dobu trvání.
  • Uveďte předpoklady mezipaměti a režimu I/O.
  • Zkontrolujte percentily latence i propustnost.
  • Použijte ověřený jednorázový cíl a omezené počáteční zatížení.
  • Potvrďte zjištění testem aplikace.
ČASTÉ OTÁZKY

Podrobnosti, na kterých záleží.

Stačí sekvenční kopie pro srovnání databázového úložiště?+

Obvykle ne. Přístup k databázi může zahrnovat malá náhodná čtení, zápisy a synchronizaci. Modelujte příslušný vzor a ověřte skutečnou aplikaci.

Prokazuje přímé I/O trvalé zápisy?+

Ne. Ukládání do vyrovnávací paměti a trvalost jsou oddělené záležitosti. Přizpůsobte se chování synchronizace vyžadovanému aplikací.

Mohu zveřejnit jeden test jako garantovanou rychlost tarifu?+

Ne. Zveřejněte jeho podmínky a rozsah. Naměřený výsledek z jednoho běhu není zárukou úrovně služby ani budoucího výkonu.

PRIMÁRNÍ ZDROJE

Jděte ke zdroji.

Tyto zdroje podporují technické koncepty v tomto průvodci. Před změnou produkčního systému se řiďte aktuální dokumentací.

  1. fio: Dokumentace flexibilního I/O testeru fio.readthedocs.io
  2. NVM Express: Přehled specifikace a časté dotazy nvmexpress.org
  3. Jádro Linux: Pressure Stall Information docs.kernel.org

Redakční vedení od SwissOctet. Příklady jsou ilustrativní. Specifikace služeb, dostupné možnosti a smluvní podmínky je nutné ověřit samostatně.

PROPOJTE ZNALOSTI

Související infrastruktura.

UDRŽTE NIT

Vaše další terénní poznámky.

Prozkoumat všechny průvodce