Luke Quinane Asked: 2009-05-05 15:54:12 +0800 CST2009-05-05 15:54:12 +0800 CST 2009-05-05 15:54:12 +0800 CST Windows 网络性能 (SMB/CIFS) 772 是否有可用于调整 Windows 网络 (SMB/CIFS) 性能的注册表设置或其他设置? 我正在尝试为大文件复制操作获得最大吞吐量,但任何设置都会很有趣。 至今: TCP 设置 调整 MTU 启用 TCP 窗口缩放 (RFC 1323)。详情在这里。 允许 5000 以上的端口。详细信息在这里。 其他因素 SMB2 比 SMB 具有性能优势。此处和此处的详细信息。 一般资源 Windows Server 2008 的性能调整指南 windows performance networking server-message-block cifs 7 个回答 Voted Best Answer Zoredache 2009-05-05T16:02:46+08:002009-05-05T16:02:46+08:00 您的客户端和服务器的操作系统是什么?可以产生影响的一件事是将您的服务器更新到 Windows 2008 并将您的客户端更新到 Vista。当您这样做时,您可以利用SMB2,它不那么健谈,具有更大的缓冲区,并且可以在一个请求中执行多项操作,从而使其对延迟不那么敏感。 Ryan Bolger 2009-05-05T16:49:14+08:002009-05-05T16:49:14+08:00 首先启用 TCP 窗口缩放 (RFC 1323)。这是一篇很好的文章,解释了如何做以及它做了什么。 当您使用它时,您可能想要调整您的 TCP 窗口大小。适当的大小是根据您的特定网络条件计算的。我对此没有太多经验,但是您可以通过谷歌搜索各种计算器和/或教程。 Luke Quinane 2009-05-08T20:29:31+08:002009-05-08T20:29:31+08:00 来自“Windows Server 2008 的性能调整指南”: 服务器选项 将主机视为稳定存储 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。这些参数允许服务器在指定边界内动态限制客户端操作并发。一些客户端可能会通过更高的并发限制来实现更高的吞吐量。一个例子是通过高带宽、高延迟链接进行文件复制。 AdditionalCriticalWorkerThreads HKLM\System\CurrentControlSet\Control\Session Manager\Executive\(REG_DWORD) 默认值为 0,这意味着没有额外的关键内核工作线程被添加到默认数量。此值会影响文件系统缓存用于预读和后写请求的线程数。提高该值可以在存储子系统中允许更多排队的 I/O,并可以提高 I/O 性能,尤其是在具有许多处理器和强大存储硬件的系统上。 客户 禁用带宽限制 HKLM\system\CurrentControlSet\Services\lanmanworkstation\parameters\(REG_DWORD) 默认值为 0。此设置从 Windows Server 2008 SP2 开始可用。默认情况下,SMB 重定向器在某些情况下会限制高延迟网络连接的吞吐量,以避免与网络相关的超时。将此注册表值设置为 1 将禁用此限制,从而通过高延迟网络连接实现更高的文件传输吞吐量。 sheepbrew 2009-05-05T19:00:31+08:002009-05-05T19:00:31+08:00 不是特定于 Windows 的,但如果您正在运行千兆以太网,您可能需要考虑增加最大传输单元 (MTU)。从默认值 1492 到最大 9000。这减少了所需的开销,因为传输相同文件所需的片段更少。 athena 2016-03-15T00:13:31+08:002016-03-15T00:13:31+08:00 如果您使用的是 SMB3 协议,您可以通过以下方式提高性能: a) 在服务器端添加多个网卡并启用 SMB3 多通道功能 b) 如果您在客户端添加多个网卡,则接收端扩展功能SMB3 将提高性能 c) 如果您有 RDMA 卡,您也可以使用 SMB Direct 选项。 mbx 2016-03-03T07:36:06+08:002016-03-03T07:36:06+08:00 如果您的限制至少为 1MByte/s,则 Windows Server 2012 R2 引入的SMB 带宽限制功能是一个内置选项。 通过 Powershell 启用 SMB 带宽限制 Add-WindowsFeature FS-SMBBW Set-SmbBandwidthLimit –Category Default -BytesPerSecond 1MB Luke Quinane 2009-05-13T04:38:27+08:002009-05-13T04:38:27+08:00 来自技术网: 最大用户端口 HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\(REG_DWORD) 默认值:5000 范围:5,000–65,534(端口号) 指定当应用程序从系统请求可用用户端口时 TCP 可以分配的最高端口号。通常,临时端口(短暂使用的端口)分配给端口号 1024 到 5000。
您的客户端和服务器的操作系统是什么?可以产生影响的一件事是将您的服务器更新到 Windows 2008 并将您的客户端更新到 Vista。当您这样做时,您可以利用SMB2,它不那么健谈,具有更大的缓冲区,并且可以在一个请求中执行多项操作,从而使其对延迟不那么敏感。
首先启用 TCP 窗口缩放 (RFC 1323)。这是一篇很好的文章,解释了如何做以及它做了什么。
当您使用它时,您可能想要调整您的 TCP 窗口大小。适当的大小是根据您的特定网络条件计算的。我对此没有太多经验,但是您可以通过谷歌搜索各种计算器和/或教程。
来自“Windows Server 2008 的性能调整指南”:
服务器选项
客户
不是特定于 Windows 的,但如果您正在运行千兆以太网,您可能需要考虑增加最大传输单元 (MTU)。从默认值 1492 到最大 9000。这减少了所需的开销,因为传输相同文件所需的片段更少。
如果您使用的是 SMB3 协议,您可以通过以下方式提高性能: a) 在服务器端添加多个网卡并启用 SMB3 多通道功能 b) 如果您在客户端添加多个网卡,则接收端扩展功能SMB3 将提高性能 c) 如果您有 RDMA 卡,您也可以使用 SMB Direct 选项。
如果您的限制至少为 1MByte/s,则 Windows Server 2012 R2 引入的SMB 带宽限制功能是一个内置选项。
通过 Powershell 启用 SMB 带宽限制
来自技术网: