Osvědčené postupy pro přímé vstupně-výstupní operace Linuxu pro Azure NetApp Files

Tento článek vám pomůže pochopit přímé osvědčené postupy vstupně-výstupních operací pro Azure NetApp Files.

Přímé vstupně-výstupní operace

Nejběžnějším parametrem použitým při srovnávacím testu výkonu úložiště jsou přímé vstupně-výstupní operace. Podporuje ho FIO a Vdbench. DiskSPD nabízí podporu podobné konstrukce vstupně-výstupních operací mapovaných do paměti. U přímých vstupně-výstupních operací se mezipaměť systému souborů vynechá, operace přímé kopie přístupu k paměti se vyhýbají a testy úložiště se provádějí rychle a jednoduše.

Použití přímého V/V parametru usnadňuje testování úložiště. V klientovi se nečtou žádná data z mezipaměti systému souborů. Proto test skutečně zdůrazňuje samotný protokol úložiště a službu, nikoli rychlost přístupu k paměti. Bez kopií paměti DMA jsou operace čtení a zápisu z pohledu zpracování efektivní.

Jako ukázkovou úlohu vezměte příkaz Pro Linux dd . Bez volitelného odirect příznaku se všechny vstupně-výstupní operace vygenerované službou dd obsluhují z mezipaměti vyrovnávací paměti Linuxu. Čtení s bloky, které jsou již v paměti, nejsou načteny z úložiště. Čtení, které vede k chybějícímu čtení z mezipaměti vyrovnávací paměti, skončí čtení z úložiště pomocí systému souborů NFS s různými výsledky v závislosti na faktorech, jako je připojení rsize , a možnostech čtení napřed klienta. Když se zápisy odesílají prostřednictvím mezipaměti vyrovnávací paměti, používají mechanismus za zápisem, který je neladěný a používá k odesílání dat do úložného zařízení značné množství paralelismu. Můžete se pokusit spustit dva nezávislé datové proudy vstupně-výstupních operací, jeden dd pro čtení a jeden dd pro zápisy. Ale ve skutečnosti operační systém, neladěný, upřednostňuje zápisy před čtením a používá více paralelismu.

Kromě databáze používá několik aplikací přímé vstupně-výstupní operace. Místo toho se rozhodnou využít výhody velké mezipaměti paměti pro opakované čtení a zápis za mezipamětí pro asynchronní zápisy. Použití přímých vstupně-výstupních operací změní test na mikro benchmark , pokud aplikace syntetizovaná používá mezipaměť systému souborů.

Tady jsou některé databáze, které podporují přímé vstupně-výstupní operace:

  • Oracle
  • SAP HANA
  • MySQL (modul úložiště InnoDB)
  • RocksDB
  • PostgreSQL
  • Teradata

Osvědčené postupy

Testování pomocí directio je vynikající způsob, jak porozumět limitům služby úložiště a klienta. Abyste lépe pochopili, jak se bude aplikace chovat (pokud se aplikace nepoužívá directio), měli byste také spouštět testy prostřednictvím mezipaměti systému souborů.

Další kroky