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 měly povolenou funkci a všechny nově vytvořené svazky budou mít také povolenou funkci při vytváření.

Jakékoli připojení SMB vytvořené před povolením funkce bude nutné resetovat, aby bylo možné využívat funkce SMB Multichannel. 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 , 14,8,16, 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ší připojení byla vytvořena s přírůstky od 1 do 48 a 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).)

Chart that shows random I/O comparison of 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.

Chart that shows random I/O comparison test.

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ž nárůst počtu připojení klientů na síťové rozhraní RSS nad rámec 4 neměl žá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 nebo velikost instance.

Chart that shows throughput test comparison.

Azure u každého typu nebo 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 tento 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í.

Chart that shows sequential I/O comparison test.

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.

Chart that shows SMB Signing performance impact.

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. Použili jsme optimální vstupně-výstupní operace za sekundu 16 a parametry flexibilních vstupně-výstupních operací (FIO) se použily k zajištění plného využití šířky pásma sítě (numjobs=16).

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:

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

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

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

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

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

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

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

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.

Screenshot that shows Performance Monitor Add Counter interface.

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ě.

Screenshot that shows Performance Monitor output.

Š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žádá, 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, kde 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 nemusí. Selhání povolení akcelerovaných síťových služeb může chytnout výkon počítače.
  • Pokud akcelerované síťové služby nejsou na síťovém rozhraní virtuálního počítače povolené kvůli nedostatku podpory pro typ nebo velikost instance, zůstanou zakázané u větších typů instancí. V těchto případech budete potřebovat ruční zásah.
  • Pro síťové karty ve vyhrazené podsíti služby Azure NetApp Files není potřeba nastavovat akcelerované síťové rozhraní. 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.

RSS

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 síťové karty virtuálního počítače Azure podporují RSS, spusťte příkaz Get-SmbClientNetworkInterface následujícím způsobem a zaškrtněte toto pole RSS Capable:

Screenshot that shows RSS output for Azure virtual machine.

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 bude odpovídat počtu síťových adaptérů vrácených serverem SMB. Každý svazek úložiště je přístupný z jednoho a pouze jednoho koncového bodu úložiště. To znamená, že pro všechny dané relace SMB se použije jenom jedna síťová karta.

Jak ukazuje výstup Get-SmbClientNetworkInterace níže, virtuální počítač má 2 síťová rozhraní – 15 a 12. Jak je znázorněno v následujícím příkazu Get-SmbMultichannelConnection, i když jsou k dispozici 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á.

Screeshot that shows output for RSS-capable NICS.

Další kroky