Zvýšení výkonu sdílených složek Azure SMB

Platí pro: ✔️ Sdílené složky SMB na SSD vrstvě médií

Tento článek vysvětluje, jak můžete zlepšit výkon sdílených složek AZURE SMB SSD (Premium), včetně použití funkce SMB Multichannel a ukládání metadat do mezipaměti.

Optimalizace výkonu

S optimalizací výkonu vám můžou pomoct následující tipy:

  • Ujistěte se, že váš úložný účet a klient jsou ve stejné Azure oblasti, abyste snížili síťovou latenci.
  • Používejte vícevláknové aplikace a rozdělte zatížení do více souborů.
  • Spusť několik testů výkonu a opakuj. Nedělejte závěry na základě jednoho počátečního testu.
  • Výhody výkonu SMB Multichannel se zvyšují s počtem souborů, které rozdělují zatížení.
  • Výkon sdílené složky SSD je vázán zřízenou velikostí sdílené složky, včetně vstupně-výstupních operací za sekundu a propustnosti a omezení jednoho souboru. Podrobnosti najdete v tématu vysvětlení modelu zřizování v1.
  • Maximální výkon jednoho klienta virtuálního počítače je stále vázán na limity virtuálních počítačů. Například Standard_D32s_v3 podporuje maximální šířku pásma přibližně 1,86 GiB/s. Příchozí přenos dat (zápisy do úložiště) se měří, ale výchozí přenos dat (čtení z úložiště) není. Výkon sdílené složky podléhá limitům sítě počítačů, procesorům, interní dostupné šířce pásma sítě úložiště, velikostem vstupně-výstupních operací, paralelismu a dalším faktorům.
  • Pokud je výkon omezený jedním klientem a úloha je stále nižší než limity zřízených sdílených složek, můžete dosáhnout vyššího výkonu rozložením zatížení na více klientů.
  • Pomocí zónového umístění vyberte konkrétní zónu dostupnosti, ve které se nachází váš účet úložiště. To vám umožní umístit virtuální počítače do stejné zóny dostupnosti jako úložiště, což může snížit latenci až o 30 procent.

Vztah mezi IOPS, propustností a velikostmi vstupně-výstupních operací

Propustnost = velikost vstupně-výstupních operací * IOPS

Vyšší velikosti vstupně-výstupních operací mají vyšší propustnost a mají vyšší latenci, což vede k nižšímu počtu vstupně-výstupních operací za sekundu. Menší velikosti vstupně-výstupních operací vedou k vyšším hodnotám IOPS, ale způsobují nižší čistou propustnost a delší latence. Další informace najdete v tématu Vysvětlení výkonu služby Azure Files.

SMB Multichannel

SMB Multichannel umožňuje klientovi SMB vytvořit více síťových připojení ke sdílené složce SMB, což zlepšuje propustnost a odolnost. Azure Files podporuje SMB Multichannel na sdílených složkách SSD pro klienty SMB s Windows i Linuxem. Pro Windows klienty je ve výchozím nastavení povolen protokol SMB Multichannel ve všech Azure oblastech. Podporované verze operačního systému Linux a podrobná konfigurace najdete v tématu Linux SMB Multichannel.

Výhody funkce SMB Multichannel

Když povolíte SMB Multichannel, klienti mohou používat více síťových připojení. Toto uspořádání zvyšuje výkon a snižuje náklady na vlastnictví. Lepší výkon získáte díky agregaci šířky pásma přes více síťových kart a díky podpoře Receive Side Scaling (RSS) pro síťové karty pro rozložení I/O zátěže mezi více CPU.

  • Zvýšená propustnost: Několik připojení umožňuje paralelní přenos dat přes několik cest, což výrazně přináší výhody úloh, které používají větší velikosti souborů s většími vstupně-výstupními velikostmi, a vyžadují vysokou propustnost z jednoho virtuálního počítače nebo menší sady virtuálních počítačů. Mezi tyto úlohy patří média a zábava pro vytváření nebo překódování obsahu, genomiky a analýzy rizik finančních služeb.
  • Vyšší IOPS: Funkce RSS síťové karty umožňuje efektivní distribuci zatížení napříč několika procesory s více připojeními. To pomáhá dosáhnout vyššího škálování IOPS a efektivního využití procesorů virtuálních počítačů. To je užitečné pro úlohy, které mají malé vstupně-výstupní operace, jako jsou databázové aplikace.
  • Odolnost proti chybám sítě: Více připojení snižuje riziko přerušení, protože klienti už nespoléhá na individuální připojení.
  • Automatická konfigurace: Pokud je v klientech a účtech úložiště povolený protokol SMB Multichannel, umožňuje dynamické zjišťování existujících připojení a podle potřeby může vytvořit další cesty připojení.
  • Optimalizace nákladů: Úlohy můžou dosáhnout vyššího škálování z jednoho virtuálního počítače nebo malé sady virtuálních počítačů při připojování ke sdíleným složkám SSD. To by mohlo snížit celkové náklady na vlastnictví snížením počtu virtuálních počítačů potřebných ke spuštění a správě úloh.
  • Škálování výkonu klienta pro Linux: Linux SMB klienti teď můžou využít multichannel ke zvýšení propustnosti a IOPS podobně jako Windows.
  • Konzistence napříč platformami: Umožňuje hybridní prostředí klientům s Windows i Linuxem dosáhnout optimálního výkonu.
  • Odolnost: Více kanálů zlepšuje odolnost proti chybám oproti heterogenním sítím.

Další informace o funkci SMB Multichannel najdete v dokumentaci k systému Windows.

Tato funkce poskytuje vyšší výhody výkonu pro vícevláknové aplikace, ale obvykle nepodporuje jednovláknové aplikace. Další podrobnosti najdete v části Porovnání výkonu .

Omezení

Smb Multichannel pro sdílené složky Azure má aktuálně následující omezení:

  • K dispozici pouze pro sdílené složky SSD. Není k dispozici pro sdílené složky HDD.
  • Podporuje se pouze u klientů, kteří používají protokol SMB 3.1.1. Ujistěte se, že klientské operační systémy SMB jsou opravené na doporučené úrovně.
  • Maximální počet kanálů je čtyři. Pro podrobnosti viz Počet SMB kanálů přesahuje čtyři.

Ověření povolení funkce SMB Multichannel na klientech

Smb Multichannel funguje jenom v případech, kdy je tato funkce povolená na straně klienta (vašeho klienta) i na straně služby (váš účet úložiště Azure).

Na klientech Windows je ve výchozím nastavení povolen protokol SMB Multichannel. Konfiguraci můžete ověřit spuštěním následujícího příkazu PowerShellu:

Get-SmbClientConfiguration | Select-Object -Property EnableMultichannel

Ověřte, že je ve vašem účtu úložiště povolený protokol SMB Multichannel.

Stav SMB Multichannel můžete zobrazit a povolit nebo zakázat v účtu úložiště pomocí portálu Azure, Azure PowerShell nebo Azure CLI.

Pokud chcete zobrazit stav SMB Multichannel, přejděte do účtu úložiště, který obsahuje sdílené složky SSD. V nabídce služby v části Úložiště dat vyberte klasické sdílené složky. Stav SMB Multichannel se zobrazí v části Nastavení sdílené složky . Pokud ho nevidíte, ujistěte se, že váš účet úložiště je typu účtu FileStorage.

Snímek obrazovky sekce sdílení souborů v účtu úložiště se zvýrazněným nastavením SMB Multichannel.

Pokud chcete povolit nebo zakázat smb Multichannel, vyberte aktuální stav (Povoleno nebo Zakázáno v závislosti na stavu). Výsledný dialog poskytuje přepínač pro povolení nebo zakázání funkce SMB Multichannel. Vyberte požadovaný stav a vyberte Uložit.

Snímek obrazovky s dialogovým oknem pro povolení nebo zakázání funkce SMB Multichannel

Povolení funkce SMB Multichannel ve starších Windows operačních systémech

Pokud chcete podporovat smb Multichannel v Azure Files, ujistěte se, že Windows má všechny relevantní opravy. U několika starších verzí Windows, včetně Windows Server 2016, Windows 10 verze 1607 a Windows 10 verze 1507, nastavte další klíče registru, aby se na plně opravené instalace použily všechny relevantní opravy SMB Multichannel. Pokud používáte verzi Windows, která je novější než tyto tři verze, nevyžaduje se žádná další akce.

Windows Server 2016 a Windows 10 verze 1607

Pokud chcete povolit všechny opravy SMB Multichannel pro Windows Server 2016 a Windows 10 verze 1607, spusťte následující příkaz PowerShellu:

Set-ItemProperty `
    -Path "HKLM:\SYSTEM\CurrentControlSet\Policies\Microsoft\FeatureManagement\Overrides" `
    -Name "2291605642" `
    -Value 1 `
    -Force

Windows 10 verze 1507

Pokud chcete povolit všechny opravy SMB Multichannel pro Windows 10 verze 1507, spusťte následující příkaz PowerShellu:

Set-ItemProperty `
    -Path "HKLM:\SYSTEM\CurrentControlSet\Services\MRxSmb\KBSwitch" `
    -Name "{FFC376AE-A5D2-47DC-A36F-FE9A46D53D75}" `
    -Value 1 `
    -Force

Podpora linuxového SMB Multichannel

Azure Files podporuje SMB Multichannel s nativními klienty SMB s Linuxem v následujících distribucích:

Distribution Verze s minimální verzí jádra
Ubuntu 24.04 AKS 6.8.0-1042
Virtuální počítače Ubuntu 24.04 6.14.0-1017
Ubuntu 22.04 VM 6.8.0-1044
AzLinux 3.0 (VM a AKS) 6.6.106.1
RHEL 9.7 5.14.0-611.5.1.el9_7
RHEL 10.1 6.12.0-124.8.1.el10_1

Tito klienti musí používat příslušný zásobník jádra a nástroje CIFS, které podporují vícekanálovou komunikaci. Podpora SMB Multichannel v Linuxu umožňuje škálování výkonu podobné windows tím, že navazuje několik paralelních připojení TCP ke stejnému koncovému bodu sdílené složky.

Požadavky

Níže jsou uvedené požadavky pro použití smb Multichannel s Linuxem.

  • Jádro s povolenou podporou smb multichannel (viz podpora Linux SMB Multichannel)
  • SMB 3.1.1
  • Port 445/TCP otevřený mezi klientem a koncovým bodem služby Azure Files
  • Ujistěte se, že je na straně klienta povolena funkce Receive Side Scaling (RSS) pro podporu více front.

Příklad příkazu mount

Následuje příklad příkazu pro připojení pro použití smb Multichannel s Linuxem.

mount -t cifs //<storageaccount>.file.core.windows.net/<share> /mnt/azfiles \
   -o vers=3.1.1,username=<account>,password=<key>,dir_mode=0777,file_mode=0777, \
   multiuser,serverino,actimeo=30,max_channels=4

Ověřte, že je protokol SMB Multichannel správně nakonfigurovaný.

Pokud chcete ověřit, že je smb Multichannel správně nakonfigurovaný, postupujte takto:

  1. Vytvořte novou sdílenou složku SSD nebo použijte existující sdílenou složku SSD.
  2. Ujistěte se, že váš klient podporuje SMB Multichannel (jeden nebo více síťových adaptérů má zapnuté škálování na straně příjemu). Podrobnosti najdete v dokumentaci Windows.
  3. Připojte sdílenou složku ke svému klientovi.
  4. Vygenerujte zatížení pomocí aplikace. Nástroj pro kopírování, jako je robocopy /MT, nebo jakýkoli výkonnostní nástroj, jako je Diskspd pro čtení a zápis souborů, může generovat zatížení.
  5. Otevřete PowerShell jako správce a spusťte následující příkaz: Get-SmbMultichannelConnection | fl
  6. Vyhledejte vlastnosti MaxChannels a CurrentChannels .

Porovnání výkonu

Existují dvě kategorie vzorů úloh čtení a zápisu: jednovláknové a vícevláknové. Většina úloh používá více souborů, ale můžou existovat konkrétní případy použití, kdy úloha pracuje s jedním souborem ve sdílené složce. Tato část popisuje různé případy použití a dopad na výkon každého z nich. Obecně platí, že většina úloh je vícevláknová a distribuuje úlohy do více souborů, takže by měly sledovat významná vylepšení výkonu pomocí smb Multichannel.

  • Vícevláknové/více souborů: V závislosti na vzoru úloh byste měli vidět významné zlepšení výkonu při čtení a zápisu v několika kanálech. Zvýšení výkonu se liší od 2x do 4x z hlediska IOPS, propustnosti a latence. Pro tuto kategorii by měl být pro zajištění nejlepšího výkonu povolen protokol SMB Multichannel.
  • Vícevláknové/jednosložkové: Pro většinu případů použití v této kategorii těží pracovní zátěže z povoleného SMB Multichannel, zejména pokud má pracovní zátěž průměrnou velikost I/O (větší než 16 KiB). Pár příkladů scénářů, které využívají SMB Multichannel, je například zálohování nebo obnova jednoho velkého souboru. Výjimkou, kdy můžete chtít zakázat SMB Multichannel, je, pokud je zatížení náročné na malé vstupně-výstupní operace. V takovém případě můžete pozorovat mírnou ztrátu výkonu asi o 10%. V závislosti na případu použití zvažte rozložení zatížení mezi více souborů nebo tuto funkci zakažte.
  • Jednovláknové soubory nebo více souborů nebo jeden soubor: U většiny úloh s jedním vláknem existují minimální výhody výkonu kvůli nedostatku paralelismu. Obvykle je mírné snížení výkonu o 10% pokud je povolený SMB Multichannel. V tomto případě je ideální zakázat SMB Multichannel s jednou výjimkou. Pokud jednovláknová zátěž dokáže rozložit zátěž mezi více souborů a používá průměrnou velikost I/O větší než 16 KiB, pak by SMB Multichannel měl mít mírné výkonnostní výhody.

Konfigurace testu výkonu

Pro grafy v tomto článku se použila následující konfigurace: Jeden virtuální počítač Standard D32s v3 s jedním síťovým rozhraním s podporou RSS se čtyřmi kanály. Zátěž byla generována pomocí diskspd.exe, vícevláknově s hloubkou I/O 10 a náhodnými I/O s různými velikostmi.

Vícevláknové nebo více souborů se SMB Multichannel

Zátěž byla generována pro 10 souborů s různými velikostmi I/O. Výsledky testu vertikálního navýšení kapacity ukázaly významná vylepšení výsledků testů IOPS i propustnosti s povoleným protokolem SMB Multichannel. Následující diagramy znázorňují výsledky:

Diagram výkonu

Diagram výkonu propustnosti

  • U jediného síťového adaptéru bylo zjištěno zvýšení výkonu 2x-3x a pro zápisy, zvýšení 3x-4x z hlediska IOPS i propustnosti.
  • Smb Multichannel umožňuje vstupně-výstupní operace IOPS a propustnost pro dosažení limitů virtuálních počítačů i s jedním síťovým rozhraním a limitem čtyř kanálů.
  • Vzhledem k tomu, že výchozí přenos dat (čtení z úložiště) není měřený, propustnost čtení mohla překročit publikovaný limit virtuálního počítače přibližně 1,86 GiB/s, což dosahuje vyšší než 2,7 GiB/s. Příchozí přenos dat (zápisy do úložiště) zůstává předmětem limitů propustnosti virtuálního počítače.
  • Rozšíření zatížení do více souborů umožňuje významná vylepšení.

Příkladem příkazu použitého v tomto testování je:

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 .

Úlohy s více vlákny nebo jedním souborem s funkcí SMB Multichannel

Zátěž byla vygenerována pro jeden soubor o velikosti 128 GiB. S povoleným protokolem SMB Multichannel se test vertikálního navýšení kapacity s více vlákny nebo jedním soubory ve většině případů projevil vylepšení. Následující diagramy znázorňují výsledky:

Diagram výkonu IOPS

Diagram výkonu propustnosti jednoho souboru

  • U jedné síťové karty s větší průměrnou velikostí vstupně-výstupních operací (větší než 16 KiB) došlo k významným vylepšením čtení i zápisů.
  • U menších velikostí I/O dochází při povoleném SMB Multichannel k mírnému přibližně 10% poklesu výkonu. Tento dopad můžete zmírnit rozložením zátěže na více souborů nebo deaktivací funkce.
  • Výkon je stále vázán limity jednotlivých souborů.

Ukládání metadat do mezipaměti pro sdílené složky SSD

Ukládání metadat do mezipaměti je vylepšení sdílených složek Azure SSD, které snižuje latenci metadat a zvyšuje limity škálování metadat. Tato funkce zvyšuje konzistenci latence a dostupné IOPS a zvyšuje propustnost sítě. Klienti Windows i Linux ho můžou používat.

Tato funkce zlepšuje výkon následujících rozhraní API metadat:

  • Vytvořit
  • Otevřít
  • Zavřít
  • Odstranit

V současné době je tato funkce dostupná jenom pro sdílené složky SSD. K používání této funkce nejsou spojené žádné další náklady. Můžete se také zaregistrovat, abyste zvýšili limity zpracování souborů pro sdílené složky SSD (Preview).

Registrace funkce ukládání metadat do mezipaměti

Začněte tím, že zaregistrujete funkci pomocí webu Azure Portal nebo Azure PowerShellu.

  1. Přihlaste se k webu Azure Portal.
  2. Vyhledejte a vyberte funkce ve verzi Preview.
  3. Vyberte filtr Typ a vyberte Microsoft.Storage.
  4. Vyberte mezipaměť metadat služby Azure Premium Files a pak vyberte Zaregistrovat.

Důležité

I když jsou uvedeny mezi předběžnými funkcemi, dodržujeme smlouvy SLA GA. Po registraci funkce se obraťte na tým služby Azure Files a požádejte ho o další pokyny.

Vylepšení výkonu při ukládání metadat do mezipaměti

Většina úloh nebo vzorů použití, které obsahují metadata, může těžit z ukládání metadat do mezipaměti. Pokud chcete zjistit, jestli vaše úloha obsahuje metadata, můžete pomocí služby Azure Monitor rozdělit transakce podle dimenze rozhraní API.

Mezi typické úlohy a vzory použití náročných na metadata patří:

  • Webové služby nebo služby aplikací
  • Úlohy DevOps
  • Indexování / dávkové úlohy
  • Virtuální plochy s domovskými adresáři nebo jinými úlohami, které primárně pracují s mnoha malými soubory, adresáři nebo popisovači

Následující diagramy znázorňují potenciální výsledky.

Snížení latence metadat

Ukládáním souborů a adresářových cest do mezipaměti pro budoucí vyhledávání může ukládání metadat do mezipaměti snížit latenci u často používaných souborů a adresářů o 30 % nebo více pro úlohy náročné na metadata ve velkém měřítku.

Graf znázorňující latenci v milisekundách s ukládáním metadat do mezipaměti a bez metadat

Zvýšení počtu dostupných IOPS

Ukládání metadat do mezipaměti může zvýšit počet dostupných IOPS o více než 60 % pro úlohy náročné na metadata ve velkém měřítku.

Graf zobrazující dostupné vstupně-výstupní operace za sekundu s a bez ukládání metadat do mezipaměti.

Zvýšení propustnosti sítě

Ukládání metadat do mezipaměti může zvýšit propustnost sítě o více než 60 % pro úlohy náročné na metadata ve velkém měřítku.

Graf znázorňující propustnost sítě s ukládáním metadat do mezipaměti a bez.

Registrovat se pro zvýšené limity popisovačů souborů (náhled)

Pokud chcete zvýšit maximální počet souběžných popisovačů na soubor a adresář pro sdílené složky SMB na SSD z 2 000 na 10 000, zaregistrujte se pro náhledovou funkci pomocí portálu Azure nebo Azure PowerShell. Pokud máte dotazy, obraťte se na tým Azure Files.

  1. Přihlaste se k webu Azure Portal.
  2. Vyhledejte a vyberte funkce ve verzi Preview.
  3. Vyberte filtr Typ a vyberte Microsoft.Storage.
  4. Vyberte Azure Premium Files – Zvýšení maximálního počtu otevřených popisovačů a poté vyberte Registrovat.

Další kroky