Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Aspekty konfigurace protokolu SMB
Ujistěte se, že jsou režimy řízení spotřeby systému BIOS a operačního systému nastaveny podle potřeby, což může zahrnovat režim vysokého výkonu nebo změněný stav C. Před konfigurací ladění protokolu SMB (Server Message Block) se ujistěte, že jsou nainstalované nejnovější, nejodolnější a nejrychlejší ovladače úložných a síťových zařízení.
Nepovolujte žádné služby ani funkce, které váš souborový server a klienti nevyžadují. Zvažte zakázání nepotřebných služeb nebo funkcí, například:
- Client-side caching
- Minifiltry systému souborů
- Firewall filters
- IPSEC
- NTFS compression
- NTFS encryption
- Scheduled tasks
- Search
- SMB encryption
- SMB signing
- Teredo
Kopírování souborů je běžná operace prováděná na souborovém serveru. Windows Server má několik integrovaných nástrojů pro kopírování souborů, které můžete spustit pomocí příkazového řádku. Pro tyto operace se doporučuje Robocopy. Windows Server 2008 R2 zavedl /mt
možnost Robocopy, která výrazně zlepšuje rychlost vzdálených přenosů souborů pomocí více vláken při kopírování více malých souborů. Doporučujeme také použít možnost /log
ke snížení výstupu konzoly přesměrováním protokolů na nulové zařízení nebo do souboru. Při použití xcopy
doporučujeme přidat možnosti /q
a /k
do vašich stávajících parametrů. Předchozí možnost snižuje režii procesoru snížením výstupu konzoly a druhá možnost snižuje síťový provoz.
Ladění výkonu SMB
Výkon souborového serveru a dostupné ladění závisí na protokolu SMB, který je vyjednán mezi jednotlivými klienty a serverem, a na nasazených funkcích souborového serveru. Nejvyšší dostupná verze protokolu je smb 3.1.1 ve Windows Serveru 2022, Windows Serveru 2016 a Windows 10. Verzi protokolu SMB můžete zkontrolovat v síti pomocí Prostředí Windows PowerShell Get-SMBConnection
na klientech a Get-SMBSession | FL
na serverech.
Řada protokolů SMB 3.0
Protokol SMB 3.0 byl zaveden ve Windows Serveru 2012 a dále rozšířen ve Windows Serveru 2012 R2 (SMB 3.02) a Windows Serveru 2016 (SMB 3.1.1). Tato verze zavedla technologie, které by mohly výrazně zlepšit výkon a dostupnost souborového serveru. Další informace najdete v protokolu SMB ve Windows Serveru 2012 a 2012 R2 2012 a novinkách v protokolu SMB 3.1.1.
SMB Direct
Smb Direct zavedl možnost používat síťová rozhraní RDMA pro vysokou propustnost s nízkou latencí a nízkým využitím procesoru.
Pokaždé, když smb zjistí síť podporující RDMA, automaticky se pokusí použít funkci RDMA. Pokud se klientovi SMB nepodaří připojit pomocí cesty RDMA, vrátí se zpět k používání připojení TCP/IP. Všechna rozhraní RDMA kompatibilní s SMB Direct musí také implementovat zásobník TCP/IP a SMB Multichannel to rozpoznává.
Smb Direct není vyžadován v žádné konfiguraci protokolu SMB, ale vždy se doporučuje pro uživatele, kteří chtějí nižší latenci a nižší využití procesoru.
Další informace o funkci SMB Direct najdete v tématu Zlepšení výkonu souborového serveru pomocí protokolu SMB Direct.
SMB Multichannel
SMB Multichannel umožňuje souborovým serverům používat více síťových připojení současně a poskytuje zvýšenou propustnost.
Další informace o funkci SMB Multichannel najdete v tématu Nasazení funkce SMB Multichannel.
SMB Scale-Out
Rozšíření SMB umožňuje protokolu SMB 3.0 v konfiguraci clusteru zviditelnit sdílení na všech uzlech clusteru. Tato konfigurace aktivní/aktivní umožňuje dále škálovat clustery souborových serverů bez složité konfigurace s více svazky, sdílenými složkami a prostředky clusteru. Maximální šířka pásma sdílené složky je celková šířka pásma všech uzlů clusteru souborového serveru. Celková šířka pásma už není omezena šířkou pásma jednoho uzlu clusteru, ale spíše závisí na schopnosti záložního systému úložiště. Celkovou šířku pásma můžete zvýšit přidáním uzlů.
Další informace o škálování SMB najdete v tématu Scale-Out Přehled souborového serveru pro aplikační data a blogový příspěvek Škálujeme, nebo neškálujeme, to je otázka.
Čítače výkonu pro protokol SMB 3.0
V systému Windows Server 2012 byly zavedeny následující čítače výkonu SMB. Při monitorování využití prostředků protokolu SMB 2 a vyšších verzí se považují za základní sadu čítačů. Protokolujte čítače výkonu do místního protokolu čítačů výkonu ve formátu .blg. Shromažďování všech instancí pomocí zástupných znaků (*) a následné extrakce konkrétních instancí během následného zpracování pomocí Relog.exeje levnější.
Sdílené složky klienta SMB
Tyto čítače zobrazují informace o sdílených složkách na serveru, ke které přistupují klienti pomocí protokolu SMB 2.0 nebo vyšší verze.
Pokud znáte běžné čítače disků ve Windows, můžete si všimnout určité podobnosti. To není náhodou. Čítače výkonu klientů SMB byly navrženy tak, aby přesně odpovídaly čítačům disku. Tímto způsobem můžete snadno znovu použít jakékoli pokyny k ladění výkonu disku aplikace, které aktuálně máte. Další informace o mapování čítačů najdete v blogu o čítačích výkonu jednotlivých klientů.
SMB serverové sdílení
Tyto čítače zobrazují informace o sdílených složkách SMB 2.0 nebo vyšších na serveru.
Relace serveru SMB
Tyto čítače zobrazují informace o relacích serveru SMB, které používají protokol SMB 2.0 nebo vyšší.
Zapnutí čítačů na straně serveru (sdílení serveru nebo relace serveru) může mít významný dopad na výkon pro náročné operace vstupu/výstupu.
Pokračovat ve filtru klíčů
Tyto čítače zobrazují informace o filtru klíčových slov pro obnovení.
Přímé připojení SMB
Tyto čítače měří různé aspekty aktivity připojení. Počítač může mít více připojení SMB Direct. Čítače připojení SMB Direct představují každé připojení jako dvojici IP adres a portů. První IP adresa a port představují místní koncový bod připojení a druhou IP adresu a port představují vzdálený koncový bod připojení.
Vztahy čítačů výkonu mezi fyzickými disky, SMB a CSV FS
Další informace o tom, jak jsou propojeny počítadla pro fyzické disky, SMB a CSV FS (systém souborů), naleznete v následujícím blogovém příspěvku: Počítadla výkonu sdílených svazků clusteru.
Ladění parametrů pro souborové servery SMB
Výkon souborových serverů SMB může ovlivnit následující REG_DWORD
nastavení registru:
Smb2CreditsMin and Smb2CreditsMax
HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters\Smb2CreditsMin
HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters\Smb2CreditsMax
Výchozí hodnoty jsou 512 a 8192 pro Windows Server. Tyto parametry umožňují serveru dynamicky omezovat souběžnost operací klienta v rámci zadaných hranic. Někteří klienti můžou dosáhnout zvýšené propustnosti s vyššími limity souběžnosti, například kopírováním souborů přes odkazy s vysokou šířkou pásma a vysokou latencí. Tyto výchozí hodnoty platí pro Windows Server, nikoli Windows.
Tip
Before Windows 10 and Windows Server 2016, the number of credits granted to the client varied dynamically between Smb2CreditsMin and Smb2CreditsMax based on an algorithm that attempted to determine the optimal number of credits to grant based on network latency and credit usage. Ve Windows 10 a Windows Serveru 2016 se server SMB změnil tak, aby bezpodmínečně uděloval kredity na žádost až do nakonfigurovaného maximálního počtu kreditů. V rámci této změny se odebral mechanismus omezování kreditu, který snižuje velikost okna kreditu každého připojení, když je server pod tlakem na paměť. Událost nedostatku paměti jádra, která aktivovala omezování, je signalizována pouze tehdy, když má server tak málo paměti (< několik MB), že je nepoužitelný. Since the server no longer shrinks credit windows, the Smb2CreditsMin setting is no longer necessary and is now ignored.
Můžete monitorovat sdílené složky klienta SMB\Credit Stalls /Sec a zjistit, jestli nedošlo k problémům s kredity.
AdditionalCriticalWorkerThreads
HKLM\System\CurrentControlSet\Control\Session Manager\Executive\AdditionalCriticalWorkerThreads
Výchozí hodnota je 0, což znamená, že se nepřidají žádná důležitější pracovní vlákna jádra. Tato hodnota má vliv na počet vláken, která mezipaměť systému souborů používá pro požadavky s předčtením a po zápisem. Zvýšení této hodnoty může v subsystému úložiště umožnit více vstupně-výstupních operací ve frontě a může zlepšit výkon vstupně-výstupních operací, zejména v systémech s mnoha logickými procesory a výkonným hardwarem úložiště.
Note
Toto nastavení platí hlavně pro Windows 7, Windows Server 2008 R2 a starší operační systémy. V pozdějších operačních systémech, zatímco Správce mezipaměti stále nepřímo spotřebovává tuto hodnotu, Správce mezipaměti nevytváří vyhrazené pracovní vlákna v pozdějších operačních systémech; tato hodnota nepřímo ovlivňuje, kolik pracovních položek každého typu (obecné pracovní procesy, opožděné zapisovače atd.) Správce mezipaměti přidělí pozdější odeslání do fondu vláken jádra.
Tip
Zvažte zvýšení hodnoty, pokud data Správce mezipaměti (čítač výkonu Cache\Dirty Pages) překročí přibližně ~25% paměti nebo pokud systém provádí řadu synchronních vstupně-výstupních operací čtení.
MaxThreadsPerNumaNode
HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters\MaxThreadsPerNumaNode
The default is 20. Zvýšením této hodnoty se zvýší počet vláken, které může souborový server použít ke službě souběžných požadavků. Pokud je potřeba obsluhovat velký počet aktivních připojení, zvýšení hodnoty může zvýšit výkon, když neefektivní ovladače filtru třetích stran ovlivňují vstupně-výstupní operace. Místo změny tohoto nastavení je lepší nainstalovat aktualizované ovladače filtru třetích stran a ovladače tisku, které zpracovávají vstupně-výstupní operace efektivněji.
Tip
Pokud pracovní fronty SMB2 dosahují relativně velké velikosti (čtečka výkonu 'Pracovní fronty serveru\Délka fronty\Queue Length\SMB2 NonBlocking *' je konzistentně nad ~100), může to naznačovat, že je třeba hodnotu zvětšit.
Note
In SMB1 and in Windows Server 2012 and Windows Server 2008, MaxThreadsPerQueue was used to control this setting. Protokol SMB1 je zastaralý a už není nainstalovaný a samotné nastavení je teď zastaralé.
AsynchronousCredits
HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters\AsynchronousCredits
Výchozí hodnota je 512. Tento parametr omezuje počet souběžných asynchronních příkazů SMB, které jsou povoleny pro jedno připojení. Některé případy (například v případě, že existuje front-endový server s back-endovým serverem IIS), vyžadují velkou řadu souběžnosti (zejména pro žádosti o oznámení o změnách souborů). Hodnotu této položky lze zvýšit tak, aby podporovala tyto případy. Výchozí hodnota je pro Windows Server, nikoli Windows.
RemoteFileDirtyPageThreshold
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\RemoteFileDirtyPageThreshold
The default is 5 GB. Tato hodnota určuje maximální počet nečistých stránek v mezipaměti (pro každý soubor) pro vzdálený zápis před provedením okamžitého vyprázdnění. Tuto hodnotu nedoporučujeme měnit, pokud systém nemá konzistentní zpomalení při náročných vzdálených zápisech. Toto chování zpomalení by se obvykle zobrazilo, když má klient rychlejší výkon vstupně-výstupních operací úložiště než vzdálený server. Změna nastavení se použije na server. Klient a server odkazují na architekturu distribuovaného systému, nikoli na konkrétní operační systémy; Například Windows Server, který kopíruje data do jiného Windows Serveru přes PROTOKOL SMB, by stále zahrnoval klienta SMB a server SMB. Další informace naleznete v tématu Řešení potíží s výkonem nástroje Cache a Memory Manager.
Příklad ladění serveru SMB
V mnoha případech můžou následující nastavení optimalizovat výkon souborového serveru. Nastavení není optimální nebo vhodné na všech počítačích. Než je použijete, měli byste vyhodnotit dopad jednotlivých nastavení.
Parameter | Value | Default |
---|---|---|
AdditionalCriticalWorkerThreads | 64 | 0 |
Čítače monitorování výkonu klienta SMB
Další informace o čítačích klienta SMB najdete v tématu Tip souborového serveru systému Windows Server 2012: Nové čítače výkonu klienta SMB pro každou sdílenou složku poskytují skvělý přehled.