Windowsnetworking性能(SMB / CIFS)

是否有registry设置或其他设置可用于调整Windowsnetworking(SMB / CIFS)性能

我试图获得大文件复制操作的最大吞吐量,但任何设置将是有趣的。

至今:

TCP设置

  • 调整MTU
  • 启用TCP窗口缩放(RFC 1323)。 详情在这里 。
  • 允许5000以上的端口。详情在这里 。

其他因素

  • SMB2比SMB有性能优势。 详情在这里和这里 。

一般资源

  • Windows Server 2008性能调优指南

你的客户端和服务器的操作系统是什么? 有一点可以有所作为是将您的服务器更新到Windows 2008和您的客户端到Vista。 当你这样做的时候,你可以充分利用SMB2 ,它不那么好玩,有更大的缓冲区,并且可以在一个请求中做多个事情,从而减less对延迟的敏感度。

首先启用TCP Window Scaling(RFC 1323)。 这里有一篇很好的文章解释了如何做,做什么。

当你在这里,你可能会想调整你的TCP窗口大小。 正确的大小根据您的具体networking条件计算。 我没有太多的经验,但有各种计算器和/或教程,你可以谷歌。

从“Windows Server 2008性能调优指南”中 :

服务器选项

TreatHostAsStableStorage

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

默认值为0.此参数禁止客户端写入刷新命令的处理。 如果此条目的值为1,则可以提高受电源保护的服务器的服务器性能和客户端延迟。 类似于NetBench文件服务器基准testing的工作负载可从此行为中受益。

AsynchronousCredits

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

默认值为512.此参数限制单个连接上允许的并发“asynchronous”SMB命令的数量。 某些文件客户端(如IIS服务器)需要大量的并发,特别是文件更改通知请求。 这个条目的价值可以增加,以支持这些客户端。

Smb2CreditsMin和Smb2CreditsMax

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

默认值分别是64和1024。 这些参数允许服务器在指定的边界内dynamic调整客户机操作并发性。 某些客户端可能会通过更高的并发限制实现更高的吞吐量。 一个例子是通过高带宽,高延迟链接的文件复制。

AdditionalCriticalWorkerThreads

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

缺省值为0,这意味着没有其他重要的内核工作线程被添加到默认编号。 此值影响文件系统caching用于预读和后写请求的线程数。 提高此值可以允许存储子系统中更多的排队I / O,并可以提高I / O性能,特别是在具有多个处理器和强大存储硬件的系统上。

客户

DisableBandwidthThrottling

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

默认值为0.此设置从Windows Server 2008 SP2开始可用。 默认情况下,SMBredirect器在某些情况下会抑制高延迟networking连接的吞吐量,以避免networking相关的超时。 将此registry值设置为1将禁用此限制,从而在高延迟networking连接上启用更高的文件传输吞吐量。

不是Windows特定的,但是如果您运行千兆以太网,您可能需要考虑增加最大传输单位(MTU)。 从默认值1492到最大值9000.这样可以减less所需的开销,因为传输相同文件需要更less的碎片。

如果使用的是SMB3协议,则可以通过以下方式来提高性能:a)在服务器端添加多个网卡,并启用SMB3多通道functionb)如果在客户端添加多个网卡,则接收端缩放functionSMB3将提高性能c)如果您有RDMA卡,您也可以使用SMB Direct选项。

如果您的限制至less为1MByte / s,则Windows Server 2012 R2引入的SMB带宽限制function是一个内置选项。

通过Powershell启用SMB带宽限制

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

来自TechNet :

MaxUserPort的

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

默认值:5000
范围:5,000-65,534(端口号)

指定应用程序从系统请求可用用户端口时TCP可分配的最高端口号。 通常,短暂端口(短暂使用的端口)被分配到端口号1024到5000。