平均負荷、ピーク負荷、容量、増加計画、応答時間を考慮して、予想されるファイル サーバーの負荷を満たす適切なハードウェアを選択する必要があります。 ハードウェアのボトルネックにより、ソフトウェア チューニングの有効性が制限されます。
クライアントの一般的なチューニング パラメーター
次のREG_DWORDレジストリ設定は、サーバー メッセージ ブロック (SMB) ファイル サーバーと対話するクライアント コンピューターのパフォーマンスに影響する可能性があります。
レジストリエントリ | レジストリ パス | 既定値 | 有効な範囲 | 説明 |
---|---|---|---|---|
ネットワークインターフェースごとの接続数 | HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\ConnectionCountPerNetworkInterface |
1 | 1-16 | RSS 以外のインターフェイスのサーバーで確立されるインターフェイスあたりの最大接続数。 |
ConnectionCountPerRssNetworkInterface | HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\ConnectionCountPerRssNetworkInterface |
4 | 1-16 | RSS インターフェイス用のサーバーで確立されるインターフェイスあたりの最大接続数。 |
RDMAネットワークインターフェイスごとの接続数 | HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\ConnectionCountPerRdmaNetworkInterface |
2 | 1-16 | RDMA インターフェイス用のサーバーで確立されるインターフェイスあたりの最大接続数。 |
サーバーあたりの最大接続数 | HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\MaximumConnectionCountPerServer |
32 | 1 ~ 64 | すべてのインターフェイスで Windows Server 2012 を実行している 1 台のサーバーで確立される最大接続数。 |
DormantDirectoryTimeout (休眠ディレクトリタイムアウト) | HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\DormantDirectoryTimeout |
600 | サーバー ディレクトリのハンドルがディレクトリのリースで開いた状態を維持する最大時間 (秒単位)。 | |
ファイル情報キャッシュの有効期間 | HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\FileInfoCacheLifetime |
10 | ファイル情報キャッシュのタイムアウト期間 (秒単位)。 | |
DirectoryCacheLifetime1 | HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\DirectoryCacheLifetime |
10 | ディレクトリ キャッシュのタイムアウト (秒単位)。 | |
DirectoryCacheEntrySizeMax (英語) | HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\DirectoryCacheEntrySizeMax |
64 KB | ディレクトリ キャッシュ エントリの最大サイズ (KB 単位)。 | |
FileNotFoundCacheLifetimeの | HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\FileNotFoundCacheLifetime |
5 | ファイルが見つからないキャッシュ タイムアウト期間 (秒単位)。 | |
CacheFileTimeout の | HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\CacheFileTimeout |
10 | アプリケーションがファイルへの最後のハンドルを閉じた後、リダイレクターがファイルのキャッシュデータを保持する時間(秒数)。 | |
帯域幅制限を無効化 (DisableBandwidthThrottling) | HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\DisableBandwidthThrottling |
0 | この値を 1 に設定すると、調整が無効になり、待機時間の長いネットワーク接続でのファイル転送スループットが向上します。 | |
大きなMTUを無効にする | HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\DisableLargeMtu |
SMB リダイレクターは、要求あたり 1 MB のペイロードを転送します。これによって、ファイル転送速度が向上します。 このレジストリ値を 1 に設定すると、要求サイズが 64 KB に制限されます。 この設定を適用する前に、この設定の影響を評価する必要があります。 Windows 8 の既定値は 0 です。 | ||
セキュリティ署名の要求 | HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\RequireSecuritySignature |
0 | この値を 1 に変更すると、すべての SMB 通信に SMB 署名が有効になり、SMB 署名が無効になっているコンピューターとの SMB 通信が防止されます。 SMB 署名を使用すると、CPU コストとネットワーク ラウンド トリップが増加しますが、敵対者の中間攻撃をブロックするのに役立ちます。 SMB 署名が必要ない場合は、すべてのクライアントとサーバーでこのレジストリ値が 0 であることを確認します。 | |
ファイル情報CacheEntriesMax | HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\FileInfoCacheEntriesMax |
64 | 1-65536 | クライアントがキャッシュできるファイル メタデータの量を決定します。 値を大きくすると、ネットワーク トラフィックが減少し、多数のファイルにアクセスするときのパフォーマンスが向上する可能性があります。 |
ディレクトリキャッシュエントリ最大数 | HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\DirectoryCacheEntriesMax |
16 | 1-4096 | クライアントがキャッシュできるディレクトリ情報の量を決定します。 この値を増やすと、大規模なディレクトリへのアクセス時にネットワーク トラフィックを削減してパフォーマンスを向上させることができます。 |
FileNotFoundCacheEntriesMax (ファイルが見つからない場合のキャッシュエントリの最大数) | HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\FileNotFoundCacheEntriesMax |
128 | 1-65536 | クライアントがキャッシュできるファイル名情報の量を決定します。 値を大きくすると、ネットワーク トラフィックが減少し、多数のファイル名にアクセスするときのパフォーマンスが向上する可能性があります。 |
マックスコマンド | HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\MaxCmds |
15 | セッションで未処理の要求の数を制限します。 値を大きくすると、より多くのメモリを使用できますが、より深い要求パイプラインを有効にすることでパフォーマンスを向上させることができます。 MaxMpxCt を使用して値を大きくすると、FindFirstChangeNotification 呼び出しなど、多数の未処理の長期ファイル要求が原因で発生するエラーを排除することもできます。 このパラメーターは、SMB 2.0 サーバーとの接続には影響しません。 | |
DormantFileLimit (休眠ファイル制限) | HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\DormantFileLimit |
1023 | アプリケーションがファイルを閉じた後に共有リソースで開いたままにする必要があるファイルの最大数を指定します。 |
注
1DirectoryCacheLifetime レジストリ エントリは、ディレクトリ のリースがない場合にディレクトリ メタデータのキャッシュを制御します。
Windows 10 バージョン 1803 の既知の問題は、大きなディレクトリをキャッシュする Windows 10 の機能に影響します。 この問題を解決するには、Windows 10 バージョン 1809 以降をインストールします。
この問題を回避するには、 DirectoryCacheLifetime を 0 に設定します。 この問題は、Windows 10 の次のエディションに影響します。
- Windows 10 Enterprise バージョン 1803
- Windows 10 Pro for Workstations バージョン 1803
- Windows 10 Pro Education バージョン 1803
- Windows 10 Professional バージョン 1803
- Windows 10 Education バージョン 1803
- Windows 10 Home バージョン 1803
クライアントチューニングの例
クライアント コンピューターの一般的なチューニング パラメーターは、特に待機時間の長いネットワーク (ブランチ オフィス、データセンター間通信、ホーム オフィス、モバイル ブロードバンドなど) を介して、リモート ファイル共有にアクセスするためにコンピューターを最適化できます。 これらの設定は、すべてのコンピューターで最適または適切ではありません。 個々の設定を適用する前に、個々の設定の影響を評価する必要があります。
レジストリエントリ | 価値 | 既定値 |
---|---|---|
帯域幅制限を無効化 (DisableBandwidthThrottling) | 1 | 0 |
ファイル情報CacheEntriesMax | 32768 | 64 |
ディレクトリキャッシュエントリ最大数 | 4096 | 16 |
FileNotFoundCacheEntriesMax (ファイルが見つからない場合のキャッシュエントリの最大数) | 32768 | 128 |
マックスコマンド | 32768 | 15 |
Windows 8 以降では、 Set-SmbClientConfiguration
と Set-SmbServerConfiguration
Windows PowerShell コマンドレットを使用して、これらの SMB 設定の多くを構成できます。 レジストリのみの設定は、Windows PowerShell を使用して構成することもできます。次に例を示します。
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" RequireSecuritySignature -Value 0 -Force