Az Azure NetApp Files SMB-teljesítményével kapcsolatos ajánlott eljárások

Ez a cikk segít megérteni az Azure NetApp Files SMB-teljesítményét és ajánlott eljárásait.

Többcsatornás SMB

A többcsatornás SMB alapértelmezés szerint engedélyezve van az SMB-megosztásokban. A meglévő SMB-köteteket megelőző összes SMB-megosztáson engedélyezve volt a funkció, és az újonnan létrehozott kötetek is engedélyezve lesznek a szolgáltatás létrehozásakor.

A funkció engedélyezése előtt létrehozott SMB-kapcsolatokat alaphelyzetbe kell állítani az SMB Többcsatornás funkció előnyeinek kihasználásához. Az alaphelyzetbe állításhoz leválaszthatja és újra csatlakoztathatja az SMB-megosztást.

A Windows támogatja a Többcsatornás SMB-t a Windows 2012 óta a legjobb teljesítmény érdekében. Részletekért tekintse meg az SMB Multichannel üzembe helyezését és az SMB Multichannel alapjait.

Az SMB többcsatornás előnyei

Az SMB Többcsatornás funkció lehetővé teszi az SMB3-ügyfél számára, hogy egy hálózati adapteren vagy több hálózati adapteren keresztül létesítsen kapcsolatkészletet, és egyetlen SMB-munkamenetre vonatkozó kérések küldéséhez használja őket. Ezzel szemben az SMB1 és az SMB2 esetében az ügyfélnek egy kapcsolatot kell létrehoznia, és egy adott munkamenet összes SMB-forgalmát ezen a kapcsolaton keresztül kell elküldenie. Ez az egyetlen kapcsolat korlátozza az egyetlen ügyfél által elérhető teljes protokollteljesítményt.

Az SMB többcsatornás teljesítménye

Az alábbi tesztek és grafikonok bemutatják az SMB Multichannel teljesítményét az egypéldányos számítási feladatokon.

Véletlenszerű I/O

Mivel az SMB Multichannel le van tiltva az ügyfélen, tiszta 4 KiB olvasási és írási tesztet hajtottak végre a FIO és egy 40 GiB munkakészlet használatával. Az SMB-megosztás le lett választva az egyes tesztek között, és az SMB-ügyfél kapcsolatszámának növekményei a(z) ,4,,816, set-SmbClientConfiguration -ConnectionCountPerRSSNetworkInterface <count>RSS hálózati adapter beállításai 1szerint. A tesztek azt mutatják, hogy az alapértelmezett beállítás 4 elegendő az I/O-igényes számítási feladatokhoz; a növekmény 8 elhanyagolható hatással volt.16

A parancs netstat -na | findstr 445 bebizonyította, hogy további kapcsolatok lettek létrehozva, amelyek között és a felé haladva növekmények 814 lettek létrehozva.16 Minden teszt során négy processzormagot használtak fel teljes mértékben az SMB-hez, amit a perfmon Per Processor Network Activity Cycles statisztikája is megerősített (ez a cikk nem tartalmazza).)

Chart that shows random I/O comparison of SMB Multichannel.

Az Azure-beli virtuális gép nem befolyásolja az SMB (és az NFS) tárolási I/O-korlátait. Az alábbi diagramon látható, hogy a D32ds-példány típusa korlátozottan 308 000-es sebességgel rendelkezik a gyorsítótárazott tároló IOPS-hoz, és 51 200 a nem gyorsítótárazott tároló IOPS-hoz. A fenti grafikon azonban jelentősen több I/O-t mutat az SMB-n keresztül.

Chart that shows random I/O comparison test.

Szekvenciális IO

A korábban ismertetett véletlenszerű I/O-tesztekhez hasonló teszteket 64 KiB szekvenciális I/O-val hajtottak végre. Bár az rss-hálózati adapterenként 4-en túli ügyfélkapcsolatok számának növekedése nem volt észrevehető hatással a véletlenszerű I/O-ra, ugyanez nem vonatkozik a szekvenciális I/O-ra. Ahogy az alábbi grafikon is mutatja, minden egyes növekedés az olvasási sebesség megfelelő növekedésével van társítva. Az írási átviteli sebesség nem változott az Azure által az egyes példánytípusokra/-méretekre vonatkozó hálózati sávszélesség-korlátozások miatt.

Chart that shows throughput test comparison.

Az Azure hálózati sebességkorlátokat helyez el az egyes virtuális gépek típusán/méretén. A sebességkorlát csak a kimenő forgalomra vonatkozik. A virtuális gépen található hálózati adapterek száma nem befolyásolja a gép számára elérhető teljes sávszélességet. A D32ds-példány típusa például 16 000 Mbps (2000 MiB/s) hálózati korlátot ír elő. Ahogy a fenti szekvenciális grafikon is mutatja, a korlát a kimenő forgalmat (írásokat) érinti, a többcsatornás olvasásokat azonban nem.

Chart that shows sequential I/O comparison test.

SMB-aláírás

Az SMB protokoll biztosítja a fájl- és nyomtatómegosztás, valamint más hálózati műveletek, például a Távoli Windows-felügyelet alapjait. Az SMB-csomagok átvitele során az SMB-csomagokat módosító, középen belüli támadások megakadályozása érdekében az SMB protokoll támogatja az SMB-csomagok digitális aláírását.

Az SMB-aláírás az Azure NetApp Files által támogatott összes SMB protokollverzió esetében támogatott.

Az SMB-aláírás teljesítményre gyakorolt hatása

Az SMB-aláírás káros hatással van az SMB teljesítményére. A teljesítménycsökkenés egyéb lehetséges okai között az egyes csomagok digitális aláírása további ügyféloldali CPU-t használ fel, ahogy az alábbi perfmon kimenet is mutatja. Ebben az esetben a Core 0 felelős az SMB-ért, beleértve az SMB-aláírást is. Az előző szakaszban szereplő nem többcsatornás szekvenciális olvasási átviteli sebesség számával való összehasonlítás azt mutatja, hogy az SMB-aláírás a teljes átviteli sebességet 875MiB/s-ről körülbelül 250MiB/s-ra csökkenti.

Chart that shows SMB Signing performance impact.

1 TB-os adatkészlettel rendelkező egyetlen példány teljesítménye

Az alábbi két diagram egy 50 TB-os, 1 TB-os adatkészlettel és 4-es SMB-többcsatornás SMB-vel rendelkező, 50 TB-os ultra szolgáltatási szintű felhőkötet teljesítményét mutatja be, hogy részletesebb betekintést nyújtson a számítási feladatokba olvasási/írási keverékekkel. A rendszer a 16-os optimális IODepth értéket használta, és rugalmas IO(FIO) paraméterekkel biztosította a hálózati sávszélesség (numjobs=16) teljes kihasználását.

Az alábbi diagram a 4k véletlenszerű I/O-ra vonatkozó eredményeket jeleníti meg egyetlen virtuálisgép-példánnyal és 10%-os időközökkel rendelkező olvasási/írási keverékkel:

Chart that shows Windows 2019 standard _D32ds_v4 4K random IO test.

Az alábbi diagram a szekvenciális I/O-hoz tartozó eredményeket mutatja:

Chart that shows Windows 2019 standard _D32ds_v4 64K sequential throughput.

Teljesítmény 5 virtuális gép 1 TB-os adatkészlettel történő horizontális felskálázása esetén

Ezek az 5 virtuális géppel végzett tesztek ugyanazt a tesztelési környezetet használják, mint az egyetlen virtuális gép, és mindegyik folyamat a saját fájljára ír.

Az alábbi diagramon a véletlenszerű I/O-k eredményei láthatók:

Chart that shows Windows 2019 standard _D32ds_v4 4K 5-instance randio IO test.

Az alábbi diagram a szekvenciális I/O-hoz tartozó eredményeket mutatja:

Chart that shows Windows 2019 standard _D32ds_v4 64K 5-instance sequential throughput.

Hyper-V ethernet-adapterek monitorozása

A FIO-val végzett tesztelés egyik stratégiája a beállítás numjobs=16. Ezzel az egyes feladatokat 16 konkrét példányra alakítja a Microsoft Hyper-V hálózati adapter maximalizálása érdekében.

A Windows Teljesítményfigyelőben az egyes adaptereken végzett tevékenység ellenőrzéséhez válassza a Teljesítményfigyelő > Számlálók > hozzáadása hálózati adapter > Microsoft Hyper-V hálózati adapter lehetőséget.

Screenshot that shows Performance Monitor Add Counter interface.

Miután adatforgalom fut a köteteken, figyelheti az adaptereket a Windows Teljesítményfigyelőben. Ha nem használja a 16 virtuális adaptert, előfordulhat, hogy nem maximalizálja a hálózati sávszélesség kapacitását.

Screenshot that shows Performance Monitor output.

SMB-titkosítás

Ez a szakasz segít megérteni az SMB-titkosítást (SMB 3.0 és SMB 3.1.1)

Az SMB-titkosítás az SMB-adatok végpontok közötti titkosítását biztosítja, és védi az adatokat a nem megbízható hálózatokon előforduló lehallgatásoktól. Az SMB-titkosítás az SMB 3.0-s és újabb verzióin támogatott.

Amikor kérést küld a tárolónak, az ügyfél titkosítja a kérést, amelyet a tár visszafejt. A válaszokat a kiszolgáló hasonlóan titkosítja, és az ügyfél visszafejti.

A Windows 10, a Windows 2012 és az újabb verziók támogatják az SMB-titkosítást.

Az SMB-titkosítás és az Azure NetApp Files

Az SMB-titkosítás az Azure NetApp Files megosztási szintjén engedélyezve van. Az SMB 3.0 az AES-CCM algoritmust, míg az SMB 3.1.1 az AES-GCM algoritmust használja.

Nincs szükség SMB-titkosításra. Ezért csak akkor engedélyezett egy adott megosztáshoz, ha a felhasználó az Azure NetApp Files engedélyezését kéri. Az Azure NetApp Files-megosztások soha nem érhetők el az interneten. Ezek csak egy adott virtuális hálózatról, VPN-en vagy expressz útvonalon érhetők el, így az Azure NetApp Files-megosztások eredendően biztonságosak. Az SMB-titkosítás engedélyezésének lehetősége teljes mértékben a felhasználón múlik. A funkció engedélyezése előtt vegye figyelembe a várható teljesítménybírságot.

Az SMB-titkosítás hatása az ügyfelek számítási feladataira

Bár az SMB-titkosítás hatással van mind az ügyfélre (az üzenetek titkosításával és visszafejtésével járó cpu-terhelésre), mind a tárolásra (az átviteli sebesség csökkentése), az alábbi táblázat csak a tárolásra gyakorolt hatást emeli ki. A számítási feladatok éles környezetben való üzembe helyezése előtt tesztelnie kell a titkosítási teljesítmény hatását a saját alkalmazásaira.

I/O-profil Hatás
Számítási feladatok olvasása és írása 10%-ról 15%-ra
Metaadatok intenzív 5%

Gyorsított hálózatkezelés

A maximális teljesítmény érdekében ajánlott a gyorsított hálózatkezelést konfigurálni a virtuális gépeken, ahol csak lehetséges. Tartsa szem előtt a következő szempontokat:

  • Az Azure Portal alapértelmezés szerint gyorsított hálózatkezelést tesz lehetővé a funkciót támogató virtuális gépek számára. Előfordulhat azonban, hogy más üzembehelyezési módszerek, például az Ansible és hasonló konfigurációs eszközök nem. A gyorsított hálózatkezelés engedélyezésének elmulasztása felboríthatja a gép teljesítményét.
  • Ha a gyorsított hálózatkezelés nem engedélyezett a virtuális gép hálózati adapterén, mert nem támogatja a példánytípust vagy -méretet, akkor a nagyobb példánytípusok letiltva maradnak. Ezekben az esetekben manuális beavatkozásra lesz szükség.
  • Az Azure NetApp Files dedikált alhálózatán nem szükséges gyorsított hálózatkezelést beállítani a hálózati adapterekhez. A gyorsított hálózatkezelés olyan képesség, amely csak az Azure-beli virtuális gépekre vonatkozik. Az Azure NetApp Files hálózati adapterek tervezés szerint vannak optimalizálva.

RSS

Az Azure NetApp Files támogatja a fogadóoldali skálázást (RSS).

Ha engedélyezve van az SMB Multichannel, az SMB3-ügyfél több TCP-kapcsolatot létesít az Azure NetApp Files SMB-kiszolgálóval egy olyan hálózati adapteren keresztül, amely egyetlen RSS-kompatibilis.

Annak ellenőrzéséhez, hogy az Azure-beli virtuális gép hálózati adapterei támogatják-e az RSS-t, futtassa a parancsot Get-SmbClientNetworkInterface az alábbiak szerint, és ellenőrizze a mezőt RSS Capable:

Screenshot that shows RSS output for Azure virtual machine.

Több hálózati adapter SMB-ügyfeleken

Ne konfiguráljon több hálózati adaptert az ügyfélen az SMB-hez. Az SMB-ügyfél megegyezik az SMB-kiszolgáló által visszaadott hálózati adapterek számával. Minden tárolókötet egy és csak egy tárolási végpontról érhető el. Ez azt jelenti, hogy egy adott SMB-kapcsolathoz csak egy hálózati adapter lesz használva.

Ahogy az alábbi kimenet Get-SmbClientNetworkInterace is mutatja, a virtuális gép 2 hálózati adaptersel rendelkezik – 15 és 12. Ahogy az alábbi parancs Get-SmbMultichannelConnectionis mutatja , annak ellenére, hogy két RSS-kompatibilis NICS van, az SMB-megosztáshoz csak a 12-es interfészt használja a rendszer, a 15-ös interfész nincs használatban.

Screeshot that shows output for RSS-capable NICS.

Következő lépések