web-dev-qa-db-ja.com

Windowsネットワークパフォーマンス(SMB / CIFS)

Windowsネットワーキング(SMB/CIFS)のパフォーマンスを調整するために使用できるレジストリ設定またはその他の設定はありますか?

大きなファイルのコピー操作で最大のスループットを得ようとしていますが、どの設定も興味深いものになります。

これまでのところ:

TCP設定

  • MTUを調整する
  • 有効にするTCPウィンドウスケーリング(RFC 1323)。詳細 ここ
  • 5000を超えるポートを許可します。詳細 ここ


その他の要因

  • SMB2には、SMBよりもパフォーマンス上の利点があります。詳細 ここ および ここ


一般的なリソース

5
Luke Quinane

クライアントとサーバーのOSは何ですか?違いをもたらすことができる1つのことは、サーバーをWindows 2008に、クライアントをVistaに更新することです。これを行うと、 SMB2 を利用できるようになります。これはおしゃべりが少なく、バッファーが大きく、1つのリクエストで複数の処理を実行できるため、レイテンシーの影響を受けにくくなります。

5
Zoredache

TCPウィンドウスケーリング(RFC 1323)を有効にすることから始めます。これが 優れた記事 でその方法と機能を説明しています。

あなたがそれにいる間、あなたはおそらくあなたのTCPウィンドウサイズを調整したいと思うでしょう。適切なサイズはあなたの特定のネットワーク条件に基づいて計算されます。私はこれについてあまり経験がありませんが、グーグルできるさまざまな計算機やチュートリアルがあります。

4
Ryan Bolger

"Windows Server 2008のパフォーマンスチューニングガイドライン" から:

サーバーオプション

TreatHostAsStableStorage

HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters\(REG_DWORD)

デフォルトは0です。このパラメーターは、クライアントからの書き込みフラッシュコマンドの処理を無効にします。このエントリの値が1の場合、電源保護されたサーバーのサーバーのパフォーマンスとクライアントの待機時間が向上します。 NetBenchファイルサーバーのベンチマークに似たワークロードは、この動作の恩恵を受けます。


非同期クレジット

HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters\(REG_DWORD)

デフォルトは512です。このパラメータは、単一の接続で許可される同時「非同期」SMBコマンドの数を制限します。IISサーバーなどの一部のファイルクライアント特にファイル変更通知リクエストでは、大量の同時実行が必要です。このエントリの値は、これらのクライアントをサポートするために増やすことができます。


Smb2CreditsMinおよびSmb2CreditsMax

HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters\(REG_DWORD)

デフォルトはそれぞれ64と1024です。これらのパラメーターを使用すると、サーバーは、指定した境界内でクライアント操作の同時実行を動的に調整できます。一部のクライアントでは、同時実行制限を高くしてスループットを向上させることができます。 1つの例は、高帯域幅、高遅延リンクを介したファイルコピーです。


AdditionalCriticalWorkerThreads

HKLM\System\CurrentControlSet\Control\Session Manager\Executive\(REG_DWORD)

デフォルトは0です。これは、重要なカーネルワーカースレッドがデフォルトの数に追加されないことを意味します。この値は、ファイルシステムキャッシュが先読みおよび後書き要求に使用するスレッドの数に影響します。この値を上げると、ストレージサブシステムでより多くのキューI/Oが可能になり、特に多くのプロセッサと強力なストレージハードウェアを備えたシステムでI/Oパフォーマンスを向上させることができます。

クライアント

DisableBandwidthThrottling

HKLM\system\CurrentControlSet\Services\lanmanworkstation\parameters\(REG_DWORD)

デフォルトは0です。この設定は、Windows Server 2008 SP2以降で使用できます。デフォルトでは、SMBリダイレクタは、ネットワーク関連のタイムアウトを回避するために、高遅延ネットワーク接続全体のスループットを抑制します。このレジストリ値を1に設定すると、この抑制が無効になり、高-遅延ネットワーク接続。

3
Luke Quinane

Windows固有ではありませんが、ギガビットイーサネットを実行している場合は、最大転送単位(MTU)を増やすことを検討してください。デフォルトの1492から最大9000まで。これにより、同じファイルの送信に必要なフラグメントが少なくなるため、必要なオーバーヘッドが削減されます。

2
hitsuyashi

SMB3プロトコルを使用している場合、a)サーバー側に複数のネットワークカードを追加し、SMB3マルチチャネル機能を有効にすることでパフォーマンスを向上させることができます。b)クライアント側に複数のネットワークカードを追加する場合、受信側のスケーリング機能SMB3はパフォーマンスを向上させますc)RDMAカードがある場合は、SMB直接オプションを使用することもできます。

2
athena

制限が1MByte/s以上の場合、Windows Server 2012 R2で導入された SMB Bandwidth Limits 機能は組み込みオプションです。

有効にするSMB Powershellによる帯域幅制限

Add-WindowsFeature FS-SMBBW
Set-SmbBandwidthLimit –Category Default -BytesPerSecond 1MB
1
mbx

から TechNet

MaxUserPort

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\(REG_DWORD)

デフォルト:5000
範囲:5,000〜65,534(ポート番号)

TCPアプリケーションがシステムから利用可能なユーザーポートを要求したときに割り当てることができる最大のポート番号を指定します。通常、一時ポート(一時的に使用されるポート)はポート番号1024から5000に割り当てられます。

0
Luke Quinane