Ajánlott eljárások a Linux közvetlen I/O-hoz az Azure NetApp Fileshoz
Ez a cikk az Azure NetApp Files közvetlen I/O-ajánlott eljárásait ismerteti.
Közvetlen I/O
A tárolóteljesítmény-teljesítménytesztben leggyakrabban használt paraméter a közvetlen I/O. A FIO és a Vdbench támogatja. A DISKSPD támogatja a memórialeképezett I/O hasonló szerkezetét. A közvetlen I/O-val a fájlrendszer gyorsítótára megkerülhető, a közvetlen memóriahozzáférési másolási műveletek elkerülhetők, a tárolási tesztek pedig gyorsan és egyszerűen elvégezhetők.
A közvetlen I/O paraméter használata megkönnyíti a tárolás tesztelését. A rendszer nem olvas be adatokat az ügyfél fájlrendszer-gyorsítótárából. Így a teszt valóban a tárolási protokollt és a szolgáltatást hangsúlyozza, nem pedig a memóriahozzáférési sebességet. A DMA memóriamásolatai nélkül az olvasási és írási műveletek feldolgozási szempontból hatékonyak.
Vegyük példaként a Linux dd
parancsot. Az opcionális odirect
jelző nélkül a rendszer a Linux puffergyorsítótárból generált dd
összes I/O-t kiszolgálja. A memóriában lévő blokkokat tartalmazó olvasások nem lesznek lekérve a tárolóból. A puffergyorsítótár-hibát eredményező olvasások végül az NFS előreolvasásával, a csatlakoztatási rsize
és az ügyféloldali olvasási hibáktól függően eltérő eredménnyel olvashatók. Amikor az írásokat a puffergyorsítótáron keresztül küldi el, egy írási mechanizmust használnak, amely nemtuned, és jelentős mennyiségű párhuzamossággal küldi el az adatokat a tárolóeszközre. Előfordulhat, hogy két független I/O-streamet próbál futtatni, egyet olvasásra, egyet dd
dd
pedig írásra. Valójában azonban az operációs rendszer, amely nemtuned, előnyben részesíti az írást az olvasások helyett, és több párhuzamosságot használ.
Az adatbázison kívül kevés alkalmazás használ közvetlen I/O-t. Ehelyett kihasználják a nagy memória-gyorsítótár előnyeit az ismétlődő olvasások és a gyorsítótár mögötti írások esetében az aszinkron írásokhoz. Röviden: a közvetlen I/O használatával a teszt mikro teljesítménymutatóvá válik, ha a szintetizált alkalmazás a fájlrendszer gyorsítótárát használja.
A következő adatbázisok támogatják a közvetlen I/O-t:
- Oracle
- SAP HANA
- MySQL (InnoDB-tárolómotor)
- RocksDB
- PostgreSQL
- Teradata
Ajánlott eljárások
directio
A tesztelés kiváló módszer a tárolási szolgáltatás és az ügyfél korlátainak megértésére. Az alkalmazás viselkedésének jobb megértéséhez (ha az alkalmazás nem használja directio
) a fájlrendszer gyorsítótárán keresztül is futtatnia kell a teszteket.
Következő lépések
- Ajánlott eljárások linuxos fájlrendszer-gyorsítótárazáshoz az Azure NetApp Fileshoz
- A Linux NFS csatlakoztatási beállításainak ajánlott eljárásai az Azure NetApp Fileshoz
- Linux – párhuzamossági ajánlott eljárások az Azure NetApp Fileshoz
- Ajánlott eljárások a Linux NFS írásvédett használatához
- Azure-beli virtuálisgép-termékváltozatok – ajánlott eljárások
- Teljesítménytesztek Linuxhoz