AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 4409
Accepted
Luke Quinane
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 7 个回答
  • 53131 Views

7 个回答

  • Voted
  1. Best Answer
    Zoredache
    2009-05-05T16:02:46+08:002009-05-05T16:02:46+08:00

    您的客户端和服务器的操作系统是什么?可以产生影响的一件事是将您的服务器更新到 Windows 2008 并将您的客户端更新到 Vista。当您这样做时,您可以利用SMB2,它不那么健谈,具有更大的缓冲区,并且可以在一个请求中执行多项操作,从而使其对延迟不那么敏感。

    • 5
  2. Ryan Bolger
    2009-05-05T16:49:14+08:002009-05-05T16:49:14+08:00

    首先启用 TCP 窗口缩放 (RFC 1323)。这是一篇很好的文章,解释了如何做以及它做了什么。

    当您使用它时,您可能想要调整您的 TCP 窗口大小。适当的大小是根据您的特定网络条件计算的。我对此没有太多经验,但是您可以通过谷歌搜索各种计算器和/或教程。

    • 4
  3. 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 将禁用此限制,从而通过高延迟网络连接实现更高的文件传输吞吐量。

    • 3
  4. sheepbrew
    2009-05-05T19:00:31+08:002009-05-05T19:00:31+08:00

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

    • 2
  5. athena
    2016-03-15T00:13:31+08:002016-03-15T00:13:31+08:00

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

    • 2
  6. 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
    
    • 1
  7. 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。

    • 0

相关问题

  • 您最喜欢的云计算提供商是什么?[关闭]

  • Vanilla Powershell 是否足以成为 Windows 和 DB 服务器管理员的语言?

  • 为什么添加新驱动器后我的磁盘驱动器访问速度如此之慢?

  • 在 Windows Server 2003 下使用 wscipt 从 .asp 文件运行 .exe

  • 最佳混合环境(OS X + Windows)备份?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve