Osvědčené postupy pro výkon SMB pro Azure NetApp Files

Tento článek vám pomůže porozumět výkonu protokolu SMB a osvědčeným postupům pro Azure NetApp Files.

SMB Multichannel

Funkce SMB Multichannel je ve výchozím nastavení povolená ve sdílených složkách SMB. Všechny sdílené složky SMB před seznamováním stávajících svazků SMB mají povolenou funkci; Všechny nově vytvořené svazky mají také povolenou funkci při vytváření.

Aby bylo možné využívat funkce SMB Multichannel, je potřeba resetovat jakékoli připojení SMB vytvořené před povolením funkce. Pokud chcete resetovat, můžete sdílenou složku SMB odpojit a znovu připojit.

Systém Windows podporuje smb Multichannel od verze Windows 2012, aby se povolil nejlepší výkon. Podrobnosti najdete v tématu Nasazení FUNKCE SMB Multichannel a Základy funkce SMB Multichannel.

Výhody funkce SMB Multichannel

Funkce SMB Multichannel umožňuje klientovi SMB3 vytvořit fond připojení přes jednu síťovou kartu (NIC) nebo více síťových karet a použít je k odesílání požadavků na jednu relaci SMB. Naproti tomu protokol SMB1 a SMB2 vyžadují, aby klient navazil jedno připojení a odeslal veškerý provoz SMB pro danou relaci přes toto připojení. Toto jedno připojení omezuje celkový výkon protokolu, který lze dosáhnout z jednoho klienta.

Výkon pro SMB Multichannel

Následující testy a grafy ukazují výkon smb Multichannel u úloh s jednou instancí.

Náhodné vstupně-výstupní operace

Když je v klientovi zakázaný protokol SMB Multichannel, provedlo se čistě 4 testy čtení a zápisu kiB pomocí FIO a pracovní sady 40 GiB. Sdílená složka SMB byla odpojena mezi jednotlivými testy s přírůstky počtu připojení klienta SMB na nastavení síťového rozhraní RSS , 11648a .set-SmbClientConfiguration -ConnectionCountPerRSSNetworkInterface <count> Testy ukazují, že výchozí nastavení 4 je dostatečné pro úlohy náročné na vstupně-výstupní operace; zvýšení 8 a 16 mělo zanedbatelný účinek.

Příkaz netstat -na | findstr 445 prokázal, že další spojení byla vytvořena s přírůstky od 1 do 4, 4 do 8a 8 do 16. Během každého testu byly plně využity čtyři jádra procesoru pro protokol SMB, jak potvrzuje statistika perfmon Per Processor Network Activity Cycles (není zahrnutá v tomto článku).)

Graf znázorňující náhodné porovnání vstupně-výstupních operací smb Multichannel

Virtuální počítač Azure nemá vliv na limity vstupně-výstupních operací úložiště SMB (ani NFS). Jak je znázorněno v následujícím grafu, typ instance D32ds má omezenou rychlost 308 000 pro vstupně-výstupní operace úložiště v mezipaměti a 51 200 pro vstupně-výstupní operace úložiště bez mezipaměti. Výše uvedený graf ale ukazuje výrazně více vstupně-výstupních operací přes protokol SMB.

Graf znázorňující náhodný srovnávací test vstupně-výstupních operací

Sekvenční vstupně-výstupní operace

Testy podobné náhodným vstupně-výstupním testům popsaným dříve byly provedeny sekvenčními vstupně-výstupními operacemi 64-KiB. I když zvýšení počtu připojení klientů na síťové rozhraní RSS nad rámec čtyř nemělo žádný znatelný vliv na náhodné vstupně-výstupní operace, totéž se nevztahuje na sekvenční vstupně-výstupní operace. Jak ukazuje následující graf, každé zvýšení je spojeno s odpovídajícím zvýšením propustnosti čtení. Propustnost zápisu zůstala plochá kvůli omezením šířky pásma sítě v Azure pro každý typ a velikost instance.

Graf znázorňující porovnání testů propustnosti

Azure u každého typu a velikosti virtuálního počítače umístí omezení přenosové rychlosti sítě. Limit rychlosti se ukládá jenom pro odchozí provoz. Počet síťových adaptérů, které jsou přítomné na virtuálním počítači, nemá žádný vliv na celkovou šířku pásma dostupnou pro počítač. Například typ instance D32ds má uložený limit sítě 16 000 Mb/s (2 000 MiB/s). Jak ukazuje sekvenční graf výše, limit ovlivňuje odchozí provoz (zápisy), ale ne vícekanálové čtení.

Graf znázorňující sekvenční srovnávací test vstupně-výstupních operací

Podepisování SMB

Protokol SMB poskytuje základ pro sdílení souborů a tisku a další síťové operace, jako je vzdálená správa systému Windows. Aby se zabránilo útokům typu man-in-the-middle, které upravují přenášené pakety SMB, protokol SMB podporuje digitální podepisování paketů SMB.

Podepisování smb je podporováno pro všechny verze protokolu SMB podporované službou Azure NetApp Files.

Dopad podepisování SMB na výkon

Podepisování SMB má odstranění vliv na výkon PROTOKOLU SMB. Kromě jiných možných příčin snížení výkonu digitální podepisování každého paketu spotřebovává další procesor na straně klienta, jak ukazuje výstup perfmon níže. V tomto případě se jádro 0 zobrazuje zodpovědné za SMB, včetně podepisování SMB. Porovnání se sekvenčními čísly propustnosti čtení mimo multichannel v předchozí části ukazuje, že podepisování SMB snižuje celkovou propustnost z 875MiB/s na přibližně 250MiB/s.

Graf znázorňující dopad na výkon podepisování SMB

Výkon jedné instance s datovou sadou 1 TB

Pokud chcete získat podrobnější přehled o úlohách s kombinací čtení a zápisu, následující dva grafy ukazují výkon jednoho cloudového svazku úrovně služby Úrovně Ultra 50 TB s datovou sadou 1 TB a s vícekanály SMB s 4. Byl použit optimální IODepth počet 16; K zajištění plného využití šířky pásmanumjobs=16 sítě se použily flexibilní parametry I/V (FIO).

Následující graf ukazuje výsledky pro 4k náhodných vstupně-výstupních operací s jednou instancí virtuálního počítače a kombinací čtení a zápisu v 10% intervalech:

Graf znázorňující standardní _D32ds_v4 4K náhodného vstupně-výstupního testu Windows 2019

Následující graf ukazuje výsledky pro sekvenční vstupně-výstupní operace:

Graf znázorňující sekvenční propustnost Windows 2019 standard _D32ds_v4 64K

Výkon při horizontálním navýšení kapacity s využitím 5 virtuálních počítačů s datovou sadou o velikosti 1 TB

Tyto testy s 5 virtuálními počítači používají stejné testovací prostředí jako jeden virtuální počítač, přičemž každý proces zapisuje do vlastního souboru.

Následující graf ukazuje výsledky náhodných vstupně-výstupních operací:

Graf znázorňující standard Windows 2019 _D32ds_v4 4K 5-instance randio vstupně-výstupní test

Následující graf ukazuje výsledky pro sekvenční vstupně-výstupní operace:

Graf znázorňující sekvenční propustnost windows 2019 standard _D32ds_v4 64K 5 instancí

Jak monitorovat ethernetové adaptéry Hyper-V

Jednou strategií použitou při testování s FIO je nastavit numjobs=16. Tím se vytvoří fork každé úlohy do 16 konkrétních instancí, aby se maximalizoval síťový adaptér Microsoft Hyper-V.

Aktivitu u každého adaptéru ve Windows Sledování výkonu můžete zkontrolovat tak, že vyberete Sledování výkonu > Přidat čítače > síťového rozhraní > Microsoft Hyper-V.

Snímek obrazovky s rozhraním Sledování výkonu Přidat čítač

Po spuštění datového provozu ve svazcích můžete monitorovat adaptéry ve Windows Sledování výkonu. Pokud nepoužíváte všechny tyto 16 virtuálních adaptérů, nemusíte maximalizovat kapacitu šířky pásma sítě.

Snímek obrazovky znázorňující výstup Sledování výkonu

Šifrování SMB

Tato část vám pomůže porozumět šifrování SMB (SMB 3.0 a SMB 3.1.1).

Šifrování SMB poskytuje komplexní šifrování dat SMB a chrání data před odposloucháváním výskytů v nedůvěryhodných sítích. Šifrování SMB je podporované ve verzi SMB 3.0 a vyšších.

Při odesílání požadavku do úložiště klient zašifruje požadavek, který pak úložiště dešifruje. Odpovědi jsou podobně zašifrovány serverem a dešifrovány klientem.

Šifrování SMB podporují systémy Windows 10, Windows 2012 a novější verze.

Šifrování SMB a Azure NetApp Files

Šifrování SMB je povolené na úrovni sdílené složky pro Azure NetApp Files. SMB 3.0 využívá algoritmus AES-CCM, zatímco SMB 3.1.1 využívá algoritmus AES-GCM.

Šifrování SMB se nevyžaduje. Proto je povolená jenom pro danou sdílenou složku, pokud uživatel požaduje, aby ji služba Azure NetApp Files povolila. Sdílené složky Azure NetApp Files se nikdy nezořejní na internetu. Jsou přístupné jenom z dané virtuální sítě přes síť VPN nebo expressroute, takže sdílené složky Azure NetApp Files jsou ze své podstaty zabezpečené. Možnost povolit šifrování SMB je zcela na uživateli. Před povolením této funkce mějte na paměti očekávané snížení výkonu.

Dopad šifrování SMB na klientské úlohy

I když šifrování SMB má vliv na klienta (režijní náklady na procesor pro šifrování a dešifrování zpráv) a úložiště (snížení propustnosti), následující tabulka zdůrazňuje pouze dopad na úložiště. Před nasazením úloh do produkčního prostředí byste měli otestovat dopad na výkon šifrování vůči vlastním aplikacím.

V/V profil Dopad
Úlohy čtení a zápisu 10 % až 15 %
Náročné na metadata 5 %

Akcelerované síťové služby

Pro maximální výkon se doporučuje nakonfigurovat akcelerované síťové služby na virtuálních počítačích, pokud je to možné. Mějte na paměti následující skutečnosti:

  • Azure Portal ve výchozím nastavení umožňuje akcelerované síťové služby pro virtuální počítače podporující tuto funkci. Jiné metody nasazení, jako je Ansible a podobné konfigurační nástroje, ale nemůžou. Selhání povolení akcelerovaných síťových služeb může chytnout výkon počítače.
  • Pokud není na síťovém rozhraní virtuálního počítače povolené akcelerované síťové připojení kvůli nedostatku podpory pro typ nebo velikost instance, zůstane zakázaná s většími typy instancí. V těchto případech potřebujete ruční zásah.
  • Není potřeba nastavovat akcelerované síťové rozhraní pro síťové karty ve vyhrazené podsíti služby Azure NetApp Files. Akcelerované síťové služby jsou funkce, které platí jenom pro virtuální počítače Azure. Síťové karty Azure NetApp Files jsou optimalizované podle návrhu.

Škálování na straně příjmu

Azure NetApp Files podporuje škálování na straně příjmu (RSS).

S povoleným protokolem SMB Multichannel klient SMB3 vytvoří více připojení TCP k serveru SMB služby Azure NetApp Files přes síťovou kartu (NIC), která je schopná používat technologii RSS.

Pokud chcete zjistit, jestli vaše síťové karty virtuálních počítačů Azure podporují RSS, spusťte následující příkaz Get-SmbClientNetworkInterface a zaškrtněte políčko RSS Capable:

Snímek obrazovky znázorňující výstup RSS pro virtuální počítač Azure

Více síťových adaptérů na klientech SMB

Pro smb byste neměli konfigurovat více síťových adaptérů. Klient SMB neodpovídá počtu síťových adaptérů vrácených serverem SMB. Každý svazek úložiště je přístupný z jednoho a jenom jednoho koncového bodu úložiště, což znamená, že pro každý vztah SMB se používá jenom jedna síťová karta.

Jak ukazuje výstup Get-SmbClientNetworkInterace níže, virtuální počítač má dvě síťová rozhraní: 15 a 12. Jak je znázorněno v následujícím příkazu Get-SmbMultichannelConnection, i když existují dvě síťové karty podporující RSS, používá se pouze rozhraní 12 v připojení ke sdílené složce SMB; rozhraní 15 se nepoužívá.

Snímek obrazovky znázorňující výstup síťových adaptérů podporujících RSS

Další kroky