Az SMB Azure-fájlmegosztás teljesítményének javítása

Ez a cikk bemutatja, hogyan javíthatja a prémium szintű SMB Azure-fájlmegosztások teljesítményét, beleértve az SMB Többcsatornás és metaadat-gyorsítótárazást (előzetes verzió) is.

A következőre érvényes:

Fájlmegosztás típusa SMB NFS
Standard szintű fájlmegosztások (GPv2), LRS/ZRS No No
Standard szintű fájlmegosztások (GPv2), GRS/GZRS No No
Prémium fájlmegosztások (FileStorage), LRS/ZRS Yes No

Teljesítmény optimalizálása

Az alábbi tippek segíthetnek a teljesítmény optimalizálásában:

  • A hálózati késés csökkentése érdekében győződjön meg arról, hogy a tárfiók és az ügyfél ugyanabban az Azure-régióban található.
  • Többszálas alkalmazások használata és több fájl közötti elosztott terhelés.
  • A többcsatornás SMB teljesítménybeli előnyei a terhelést elosztó fájlok számával növekednek.
  • A prémium szintű megosztási teljesítményt a kiosztott megosztási méret (IOPS/kimenő/bejövő forgalom) és az egyetlen fájlkorlátok kötik. További információ: A prémium szintű fájlmegosztások kiépítésének ismertetése.
  • Egy virtuálisgép-ügyfél maximális teljesítménye továbbra is a virtuálisgép-korlátokhoz van kötve. A Standard_D32s_v3 például 16 000 MBps (vagy 2GBps) maximális sávszélességet támogathat, a virtuális gépről (írás a tárolóba) érkező kimenő forgalom mérése, a bejövő forgalom (a tárolóból történő olvasás) pedig nem. A fájlmegosztási teljesítmény a gép hálózati korlátaira, processzorokra, a belső tároló rendelkezésre álló hálózati sávszélességére, az I/O-méretekre, a párhuzamosságra és egyéb tényezőkre vonatkozik.
  • A kezdeti teszt általában bemelegítés. Dobja el az eredményeket, és ismételje meg a tesztet.
  • Ha egyetlen ügyfél korlátozza a teljesítményt, és a számítási feladatok továbbra is a kiosztott megosztási korlátok alatt vannak, a terhelés több ügyfélre való elosztásával nagyobb teljesítményt érhet el.

Az IOPS, az átviteli sebesség és az I/O-méretek közötti kapcsolat

Átviteli sebesség = IO-méret * IOPS

A nagyobb I/O-méretek nagyobb átviteli sebességet eredményeznek, és nagyobb késéssel járnak, ami alacsonyabb nettó IOPS-t eredményez. A kisebb I/O-méretek nagyobb IOPS-t eredményeznek, de alacsonyabb nettó átviteli sebességet és késést eredményeznek. További információ: Az Azure Files teljesítményének ismertetése.

Többcsatornás SMB

Az SMB Multichannel lehetővé teszi, hogy egy SMB 3.x-ügyfél több hálózati kapcsolatot létesítsen egy SMB-fájlmegosztáshoz. Az Azure Files támogatja az SMB Multichannelt a prémium szintű fájlmegosztásokon (fájlmegosztások a FileStorage tárfiók típusában) a Windows-ügyfelek számára. A szolgáltatásoldalon az SMB Multichannel alapértelmezés szerint le van tiltva az Azure Filesban, de az engedélyezésének nincs további költsége.

Előnyök

A többcsatornás SMB lehetővé teszi az ügyfelek számára, hogy több hálózati kapcsolatot használjanak, amelyek nagyobb teljesítményt biztosítanak, miközben csökkentik a tulajdonjog költségeit. A teljesítmény növelése több hálózati adapteren keresztüli sávszélesség-összesítéssel, valamint a hálózati adapterek fogadási oldalának skálázási (RSS) támogatásával történik az I/O-terhelés több processzor közötti elosztásához.

  • Nagyobb átviteli sebesség: A több kapcsolat lehetővé teszi az adatok több útvonalon történő átvitelét párhuzamosan, ezáltal jelentősen kihasználva azokat a számítási feladatokat, amelyek nagyobb méretű, nagyobb I/O méretű fájlokat használnak, és nagy átviteli sebességet igényelnek egyetlen virtuális géptől vagy kisebb virtuális gépektől. Ezen számítási feladatok némelyike a tartalomlétrehozáshoz vagy átkódoláshoz, genomika és pénzügyi szolgáltatások kockázatelemzéséhez használható média és szórakozás.
  • Magasabb IOPS: A hálózati adapter RSS-képessége lehetővé teszi a terhelés hatékony elosztását több processzor között, több kapcsolattal. Ez segít magasabb IOPS-skálázást és a virtuálisgép-processzorok hatékony kihasználását elérni. Ez olyan számítási feladatok esetében hasznos, amelyek kis I/O-méretűek, például adatbázis-alkalmazások.
  • Hálózati hibatűrés: A több kapcsolat csökkenti a megszakadás kockázatát, mivel az ügyfelek már nem támaszkodnak önálló kapcsolatra.
  • Automatikus konfiguráció: Ha az SMB Multichannel engedélyezve van az ügyfeleken és a tárfiókokon, lehetővé teszi a meglévő kapcsolatok dinamikus felderítését, és szükség esetén további kapcsolati útvonalakat is létrehozhat.
  • Költségoptimalizálás: A számítási feladatok nagyobb skálázást érhetnek el egyetlen virtuális gépről vagy egy kis virtuális gépcsoportról, miközben prémium szintű megosztásokhoz csatlakoznak. Ez csökkentheti a teljes tulajdonjogi költséget a számítási feladatok futtatásához és kezeléséhez szükséges virtuális gépek számának csökkentésével.

Az SMB Multichannelről a Windows dokumentációjában olvashat bővebben.

Ez a funkció nagyobb teljesítményelőnyt biztosít a többszálas alkalmazások számára, de általában nem segít az egyszálas alkalmazásokban. További részletekért tekintse meg a Teljesítmény-összehasonlítás szakaszt.

Korlátozások

Az Azure-fájlmegosztásokhoz készült SMB Multichannel jelenleg a következő korlátozásokkal rendelkezik:

  • Csak az SMB 3.1.1-et használó Windows-ügyfeleken támogatott. Győződjön meg arról, hogy az SMB-ügyfél operációs rendszerei az ajánlott szintekre vannak javítva.
  • Linux-ügyfelek esetében jelenleg nem támogatott vagy ajánlott.
  • A csatornák maximális száma négy, a részletekért lásd itt.

Konfiguráció

Az SMB Multichannel csak akkor működik, ha a funkció az ügyféloldalon (az ügyfélen) és a szolgáltatásoldalon (az Azure Storage-fiókon) is engedélyezve van.

Windows-ügyfeleken az SMB Multichannel alapértelmezés szerint engedélyezve van. A konfigurációt a következő PowerShell-parancs futtatásával ellenőrizheti:

Get-SmbClientConfiguration | Select-Object -Property EnableMultichannel

Az Azure Storage-fiókjában engedélyeznie kell az SMB Multichannelt. Lásd: Többcsatornás SMB engedélyezése.

Többcsatornás SMB letiltása

A legtöbb forgatókönyvben, különösen a többszálas számítási feladatokban az ügyfeleknek jobb teljesítményt kell látniuk az SMB Multichannel használatával. Bizonyos konkrét forgatókönyvek, például egyszálas számítási feladatok vagy tesztelési célokra azonban érdemes lehet letiltani a többcsatornás SMB-t. További részletekért tekintse meg a Teljesítmény összehasonlítása című témakört.

Ellenőrizze, hogy a többcsatornás SMB megfelelően van-e konfigurálva

  1. Hozzon létre egy új prémium szintű fájlmegosztást, vagy használjon meglévő prémium szintű megosztást.
  2. Győződjön meg arról, hogy az ügyfél támogatja a többcsatornás SMB-t (egy vagy több hálózati adapteren engedélyezve van a fogadóoldali skálázás). További részletekért tekintse meg a Windows dokumentációját .
  3. Fájlmegosztás csatlakoztatása az ügyfélhez.
  4. Terhelés generálása az alkalmazással. Egy másolási eszköz, például a robocopy /MT, vagy bármely teljesítményeszköz, például a Diskspd, amely fájlokat olvas vagy ír, terhelést okozhat.
  5. Nyissa meg a PowerShellt rendszergazdaként, és használja a következő parancsot: Get-SmbMultichannelConnection |fl
  6. Keresse meg a MaxChannels és a CurrentChannels tulajdonságokat.

Screenshot of Get-SMBMultichannelConnection results.

Teljesítmény-összehasonlítás

Az olvasási/írási számítási feladatok mintáinak két kategóriája van: egyszálas és többszálas. A számítási feladatok többsége több fájlt használ, de lehetnek olyan konkrét használati esetek, amikor a számítási feladat egyetlen fájllal működik egy megosztásban. Ez a szakasz a különböző használati eseteket és az egyes esetek teljesítményre gyakorolt hatását ismerteti. Általánosságban elmondható, hogy a legtöbb számítási feladat többszálú, és több fájlon keresztül osztja el a számítási feladatokat, így jelentős teljesítménybeli javulást kell megfigyelniük az SMB Multichannel használatával.

  • Többszálas/többszálas fájlok: A számítási feladat mintájától függően jelentős teljesítménybeli javulást kell látnia az olvasási és írási I/OS-ben több csatornán keresztül. A teljesítménynövekedés az IOPS, az átviteli sebesség és a késés szempontjából 2x és 4x között változik. Ebben a kategóriában az SMB Multichannelt engedélyezni kell a legjobb teljesítmény érdekében.
  • Többszálas/egyszálas fájl: Az ebben a kategóriában található legtöbb használati esetben a számítási feladatok számára előnyös az SMB többcsatornás engedélyezése, különösen akkor, ha a számítási feladat átlagos I/O-mérete > ~16k. Az SMB Multichannel előnyeit kihasználó néhány példaforgatókönyv egyetlen nagy fájl biztonsági mentése vagy helyreállítása. Kivételt képez az SMB Multichannel letiltása, ha a számítási feladat nagy méretű I/OS-n van. Ebben az esetben enyhe~ 10%-os teljesítménycsökkenést tapasztalhat. A használati esettől függően fontolja meg a terhelés több fájl közötti elosztását, vagy tiltsa le a funkciót. Részletekért tekintse meg a Konfiguráció szakaszt.
  • Egyszálas/többszálas fájlok vagy egyetlen fájl: A legtöbb egyszálas számítási feladat esetében a párhuzamosság hiánya minimális teljesítménybeli előnyökkel jár. Ha az SMB Multichannel engedélyezve van, általában a teljesítmény kisebb, ~10%-os romlása tapasztalható. Ebben az esetben ideális az SMB Multichannel letiltása egyetlen kivétellel. Ha az egyszálas számítási feladat több fájl között képes elosztani a terhelést, és átlagosan nagyobb I/O-méretben (> ~16k) használja, akkor az SMB Multichannel kisebb teljesítménybeli előnyökkel jár.

Teljesítményteszt konfigurációja

A cikkben szereplő diagramok esetében a következő konfigurációt használták: Egyetlen standard D32s v3 virtuális gép egyetlen RSS-kompatibilis hálózati adapterrel négy csatornával. A terhelés diskspd.exe használatával jött létre, többszálú, 10-es I/O-mélységgel és véletlenszerű I/O-kkal, különböző I/O-méretekkel.

Méret vCPU Memória: GiB Ideiglenes tárterület (SSD) GiB Adatlemezek max. száma Gyorsítótárazott és ideiglenes tároló maximális átviteli sebessége: IOPS/MBps (gyorsítótár mérete a GiB-ben) A lemez maximális átviteli sebessége: IOPS/MBps Hálózati adapterek maximális száma Várható hálózati sávszélesség (Mbps)
Standard_D32s_v3 32 128 256 32 64000/512 (800) 51200/768 8 16000

Screenshot that shows the performance test configuration.

Többszálas/többszálas fájlok többcsatornás SMB-vel

A terhelés 10 különböző IO-mérettel rendelkező fájlra lett létrehozva. A vertikális felskálázási teszt eredményei jelentős javulást mutattak mind az IOPS, mind az átviteli sebesség teszt eredményeiben, ha engedélyezve van az SMB Multichannel. Az alábbi diagramok az eredményeket ábrázolják:

Diagram of performance.

Diagram of throughput performance.

  • Egyetlen hálózati adapteren az olvasások esetében 2x-3x teljesítménynövekedést figyeltek meg, az írások esetében pedig 3x-4-szeres növekedést az IOPS és az átviteli sebesség tekintetében.
  • A többcsatornás SMB lehetővé tette, hogy az IOPS és az átviteli sebesség egyetlen hálózati adapter és négy csatornakorlát mellett is elérje a virtuálisgép-korlátokat.
  • Mivel a kimenő forgalom (vagy a tárolóba történő olvasás) nincs mérve, az olvasási átviteli sebesség meghaladta a virtuális gép által közzétett 16 000 Mbps (2 GiB/s) korlátot. A teszt 2,7 GiB/s-t ért el >. A bejövő forgalomra (vagy a tárolóba történő írásra) továbbra is a virtuálisgép-korlátozások vonatkoznak.
  • A terhelés több fájlra való szétosztása jelentős fejlesztésekhez engedélyezett.

A tesztelés során használt példaparancs a következő:

diskspd.exe -W300 -C5 -r -w100 -b4k -t8 -o8 -Sh -d60 -L -c2G -Z1G z:\write0.dat z:\write1.dat z:\write2.dat z:\write3.dat z:\write4.dat z:\write5.dat z:\write6.dat z:\write7.dat z:\write8.dat z:\write9.dat .

Többszálas/önálló fájlterhelések többcsatornás SMB-vel

A terhelés egyetlen 128 GiB-fájlhoz lett létrehozva. Ha engedélyezve van a többcsatornás SMB, a többszálas/egyetlen fájlokkal végzett vertikális felskálázási teszt a legtöbb esetben javulást mutatott. Az alábbi diagramok az eredményeket ábrázolják:

Diagram of IOPS performance.

Diagram of single file throughput performance.

  • Egy nagyobb átlagos I/O-mérettel (> ~16k) rendelkező hálózati adapteren jelentős javulás történt mind az olvasásban, mind az írásban.
  • Kisebb I/O-méretek esetén az SMB Multichannel engedélyezése esetén a teljesítményre ~10% volt a hatása. Ez a terhelés több fájlra való elterjesztésével vagy a funkció letiltásával csökkenthető.
  • A teljesítményt továbbra is egyetlen fájlkorlát köti.

Metaadatok gyorsítótárazása prémium szintű SMB-fájlmegosztásokhoz

A metaadatok gyorsítótárazása a prémium szintű SMB Azure-fájlmegosztások fejlesztése, amelynek célja a metaadatok késésének csökkentése, az elérhető IOPS növelése és a hálózati átviteli sebesség növelése. Ez az előzetes verziójú funkció a következő metaadat-API-kat javítja, és Windows- és Linux-ügyfeleken egyaránt használható:

  • Létrehozás
  • Nyit
  • Bezárás
  • Törlés

A bevezetéshez regisztráljon a nyilvános előzetes verzióra, és további részleteket is megadunk. Ez az előzetes verziójú funkció jelenleg csak prémium szintű SMB-fájlmegosztásokhoz érhető el (fájlmegosztások a FileStorage tárfiók típusában). A funkció használatához nincsenek további költségek.

Régiónkénti rendelkezésre állás

A metaadatok gyorsítótárazási előzetes verziója jelenleg csak a következő Azure-régiókban érhető el.

  • Kelet-Ausztrália
  • Délkelet-Brazília
  • Dél-Franciaország
  • Középnyugat-Németország
  • Észak-Svájc
  • Egyesült Arab Emírségek középső régiója
  • Egyesült Arab Emírségek északi régiója
  • USA nyugati középső régiója

Teljesítménybeli fejlesztések a metaadatok gyorsítótárazásával

A metaadatokat tartalmazó számítási feladatok és használati minták többsége kihasználhatja a metaadatok gyorsítótárazását. Annak megállapításához, hogy a számítási feladat tartalmaz-e metaadatokat, az Azure Monitor használatával API-dimenzió szerint oszthatja fel a tranzakciókat.

A metaadatokra jellemzően nagy számítási feladatok és használati minták a következők:

  • Web-/appszolgáltatások
  • DevOps-feladatok
  • Indexelési/kötegelési feladatok
  • Virtuális asztalok otthoni könyvtárakkal vagy más olyan számítási feladatokkal, amelyek elsősorban sok kis fájllal, könyvtárral vagy kezelővel kommunikálnak

Az alábbi diagramok a lehetséges eredményeket ábrázolják.

A metaadatok késésének csökkentése

A jövőbeni keresések fájl- és címtár-elérési útjainak gyorsítótárazásával a metaadatok gyorsítótárazása 30%-kal vagy többel csökkentheti a gyakran használt fájlok és könyvtárak késését a nagy méretű metaadat-alapú számítási feladatok esetében.

Chart showing latency in milliseconds with and without metadata caching.

Az elérhető IOPS növelése

A metaadatok gyorsítótárazása több mint 60%-kal növelheti a rendelkezésre álló IOPS-t a nagy léptékű metaadat-számítási feladatok esetében.

Chart showing available IOPS with and without metadata caching.

Hálózati átviteli sebesség növelése

A metaadatok gyorsítótárazása több mint 60%-kal növelheti a hálózati átviteli sebességet a nagy méretű metaadat-alapú számítási feladatok esetében.

Chart showing network throughput with and without metadata caching.

Következő lépések