Zlepšení výkonu sdílených složek Azure smb

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

Platí pro

Typ sdílené složky SMB NFS
Sdílené složky úrovně Standard (GPv2), LRS/ZRS No No
Sdílené složky úrovně Standard (GPv2), GRS/GZRS No No
Sdílené složky úrovně Premium (FileStorage), LRS/ZRS Yes No

Optimalizace výkonu

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

  • Ujistěte se, že váš účet úložiště a váš klient jsou společně umístěné ve stejné oblasti Azure, aby se snížila latence sítě.
  • Používejte vícevláknové aplikace a rozprostřete zatížení napříč více soubory.
  • Výhody výkonu funkce SMB Multichannel se zvyšují s počtem souborů, které distribuují zatížení.
  • Výkon sdílené složky Úrovně Premium je svázán se zřízenou velikostí sdílené složky (IOPS, výchozí přenos nebo příchozí přenos dat) a limity jednotlivých souborů. Podrobnosti najdete v tématu Principy zřizování sdílených složek úrovně Premium.
  • 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 může podporovat maximální šířku pásma 16 000 MB/s (nebo 2GB/s), výchozí přenos dat z virtuálního počítače (zápisy do úložiště) se měří, pří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.
  • Počáteční test je obvykle zahřeje. Zahoďte výsledky a opakujte test.
  • 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ů.

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 budou mít vyšší latenci, což vede k nižšímu počtu vstupně-výstupních operací za sekundu. Menší vstupně-výstupní velikosti budou řídit vyšší IOPS, ale budou mít za následek nižší propustnost a latenci sítě. Další informace najdete v tématu Vysvětlení výkonu služby Azure Files.

SMB Multichannel

Funkce SMB Multichannel umožňuje klientovi SMB 3.x navázat několik síťových připojení ke sdílené složce SMB. Azure Files podporuje smb Multichannel u sdílených složek úrovně Premium (sdílené složky v typu účtu úložiště FileStorage) pro klienty Windows. Na straně služby je funkce SMB Multichannel ve výchozím nastavení ve službě Azure Files zakázaná, ale za její povolení nejsou žádné další náklady.

Zaměstnanecké výhody

SMB Multichannel umožňuje klientům používat více síťových připojení, která poskytují vyšší výkon a zároveň snižují náklady na vlastnictví. Zvýšení výkonu se dosahuje prostřednictvím agregace šířky pásma přes více síťových karet a využití podpory škálování na straně příjmu (RSS) pro síťové karty k distribuci vstupně-výstupního zatížení mezi několik procesorů.

  • 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 pro klienty a účty úložiště povolená funkce SMB Multichannel, umožňuje dynamické zjišťování existujících připojení a podle potřeby může vytvářet 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 Premium. 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.

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í:

  • Podporuje se pouze u klientů s Windows, kteří používají protokol SMB 3.1.1. Ujistěte se, že klientské operační systémy SMB jsou opravené na doporučené úrovně.
  • Pro klienty s Linuxem se v současné době nepodporuje ani nedoporučuje.
  • Maximální počet kanálů je čtyři, podrobnosti najdete tady.

Konfigurace

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

V účtu úložiště Azure budete muset povolit SMB Multichannel. Viz Povolení funkce SMB Multichannel.

Zakázání funkce SMB Multichannel

Ve většině scénářů, zejména úloh s více vlákny, by klienti měli vidět lepší výkon pomocí smb Multichannel. V některých konkrétních scénářích, jako jsou úlohy s jedním vláknem nebo pro účely testování, ale můžete chtít zakázat smb Multichannel. Další podrobnosti najdete v tématu Porovnání výkonu.

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

  1. Vytvořte novou sdílenou složku úrovně Premium nebo použijte existující sdílenou složku Úrovně Premium.
  2. Ujistěte se, že váš klient podporuje SMB Multichannel (jeden nebo více síťových adaptérů má povolené škálování na straně příjmu). Další podrobnosti najdete v dokumentaci k 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 nástroj pro zvýšení výkonu, jako je Diskspd pro čtení a zápis souborů, může generovat načtení.
  5. Otevřete PowerShell jako správce a použijte následující příkaz: Get-SmbMultichannelConnection |fl
  6. Vyhledejte vlastnosti MaxChannels a CurrentChannels.

Screenshot of Get-SMBMultichannelConnection results.

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é/jednoúčelový soubor: Pro většinu případů použití v této kategorii můžou mít úlohy povolenou funkci SMB Multichannel, zejména pokud má úloha průměrnou velikost > vstupně-výstupních operací ~16k. Několikukázkových 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 přibližně 10 %. V závislosti na případu použití zvažte rozložení zatížení mezi více souborů nebo tuto funkci zakažte. Podrobnosti najdete v části Konfigurace .
  • 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 dochází k mírnému snížení výkonu přibližně 10 %, pokud je povolen protokol SMB Multichannel. V tomto případě je ideální zakázat SMB Multichannel s jednou výjimkou. Pokud úloha s jedním vláknem může distribuovat zatížení mezi více souborů a používá se v průměru větší vstupně-výstupní velikost (> ~16 tisíc), mělo by to mít mírné výhody z hlediska výkonu smb Multichannel.

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. Zatížení se vygenerovalo pomocí diskspd.exe, vícevláknového s hloubkou vstupně-výstupních operací 10 a náhodných vstupně-výstupních operací s různými velikostmi vstupně-výstupních operací.

Velikost Virtuální procesory Paměť: GiB Dočasné úložiště (SSD): GiB Max. datových disků Maximální propustnost úložiště uložené v mezipaměti a dočasné úložiště: IOPS/MB/s (velikost mezipaměti v GiB) Maximální propustnost disku bez mezipaměti: IOPS/MB/s Maximální počet síťových karet Očekávaná šířka pásma sítě (Mb/s)
Standard_D32s_v3 32 128 256 32 64000/512 (800) 51200/768 8 16000

Screenshot that shows the performance test configuration.

Vícevláknové nebo více souborů pomocí smb Multichannel

Načtení se vygenerovalo s 10 soubory s různými velikostmi vstupně-výstupních operací. 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 of performance.

Diagram of throughput performance.

  • 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 (nebo čtení do úložiště) není měřený, propustnost čtení mohla překročit publikovaný limit virtuálního počítače o 16 000 Mb/s (2 GiB/s). Test dosáhl >2,7 GiB/s. Příchozí přenos dat (nebo zápisy do úložiště) se stále vztahují na limity virtuálních počítačů.
  • 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

Načtení se vygenerovalo pro jeden soubor 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 of IOPS performance.

Diagram of single file throughput performance.

  • U jedné síťové karty s větší průměrnou velikostí vstupně-výstupních operací (> ~16 tisíc) došlo k významným vylepšením čtení i zápisů.
  • U menších vstupně-výstupních operací došlo k mírnému dopadu přibližně 10 % na výkon s povoleným protokolem SMB Multichannel. To může zmírnit rozložením zatížení do více souborů nebo zakázáním 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 SMB úrovně Premium

Ukládání metadat do mezipaměti je vylepšením sdílených složek SMB Azure Úrovně Premium, jejichž cílem je snížit latenci metadat, zvýšit dostupné IOPS a zvýšit propustnost sítě. Tato funkce Preview vylepšuje následující rozhraní API metadat a je možné ji používat z klientů s Windows i Linuxem:

  • Vytvoření
  • Otevření
  • Close (Zavřít)
  • Odstranění

Pokud se chcete připojit, zaregistrujte si verzi Public Preview a poskytneme vám další podrobnosti. V současné době je tato funkce ve verzi Preview dostupná jenom pro prémiové sdílené složky SMB (sdílené složky v typu účtu úložiště FileStorage). K používání této funkce nejsou spojené žádné další náklady.

Regionální dostupnost

V současné době je náhled ukládání metadat do mezipaměti k dispozici pouze v následujících oblastech Azure.

  • Austrálie – východ
  • Brazílie – jih – východ
  • Francie – jih
  • Německo – středozápad
  • Švýcarsko – sever
  • Spojené arabské emiráty – střed
  • Spojené arabské emiráty – sever
  • USA – středozápad

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.

Chart showing latency in milliseconds with and without metadata caching.

Zvýšení dostupného počtu vstupně-výstupních operací za sekundu

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.

Chart showing available IOPS with and without metadata caching.

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.

Chart showing network throughput with and without metadata caching.

Další kroky