优化SMB传输需四步:启用SMB 3.0并禁用SMB1,关闭内网签名与加密,调大TCP窗口并禁用LSO,精简权限、关闭压缩/索引及8.3命名。

两台电脑在同一局域网内用Windows共享文件夹传4K视频素材,明明是千兆有线网络却要花3分钟以上,实际速率不到20MB/s——这说明SMB协议默认配置严重拖慢了传输,必须针对性优化。
确认并启用SMB 3.0及以上协议
Windows 10/11默认启用SMB 3.0,但若其中一台是Windows 7或旧版Win10(如1607之前),可能仍回退到SMB 1.0或2.0,导致速度被锁死在10–25MB/s。先检查:在任意一台电脑上以管理员身份运行PowerShell,输入Get-SmbServerConfiguration | Select EnableSMB1Protocol,EnableSMB2Protocol。若EnableSMB1Protocol为True,必须禁用——SMB 1.0不仅慢,还存在已知安全漏洞。
禁用命令:Set-SmbServerConfiguration -EnableSMB1Protocol $false -Force。执行后重启“Server”服务(可在服务管理器中右键重启),否则更改不生效。
【关键前提】两台电脑都必须启用SMB 2.0或更高版本,否则后续所有优化无效。
关闭SMB签名与加密(仅限可信内网)
Windows默认对SMB通信启用数字签名和AES-128加密,这会显著增加CPU开销,尤其在老款i5/i7处理器上,可造成15%–30%的吞吐量损失。
方法一(推荐):组策略编辑器设置
按Win+R输入gpedit.msc → 依次展开“计算机配置→管理模板→网络→Lanman工作站” → 双击“启用不安全的来宾登录”设为“已启用”;再进入“Lanman服务器” → 找到“要求将签名用于通信(如果客户端同意)”,设为“已禁用”。
方法二:注册表强制关闭(适用于家庭版无gpedit)
打开注册表编辑器(regedit),定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters,新建DWORD(32位)值,命名为RequireSecuritySignature,数值设为0;同路径下再建EnableSecuritySignature,也设为0。
⚠️ 注意:此操作仅适用于完全可信的局域网(如自家书房、办公室内网),切勿在公共WiFi或混合网络中启用。
调整TCP接收窗口与网络适配器高级设置
千兆网卡默认的TCP接收缓冲区太小,无法匹配高速传输节奏,容易触发频繁ACK确认,拉低有效带宽。
第一步:启用接收端缩放(RSS)和中断合并
进入“设备管理器”→展开“网络适配器”→右键你的有线网卡→“属性”→“高级”选项卡→找到“Receive Side Scaling (RSS)”设为“Enabled”;再找到“Interrupt Moderation”设为“Disabled”(关闭中断合并可减少延迟,提升突发流量响应)。
第二步:增大TCP接收窗口
以管理员身份运行CMD,依次执行:
netsh int tcp set global autotuninglevel=normal
netsh int tcp set global rss=enabled
netsh int ipv4 set subinterface "以太网" mtu=1500 store=persistent(请将“以太网”替换为你实际的连接名称,可通过netsh int ipv4 show interfaces查看)。
第三步:禁用大型发送卸载(LSO)
仍在网卡“高级”设置中,找到“Large Send Offload V2 (IPv4)”和“Large Send Offload V2 (IPv6)”,全部设为“Disabled”。某些主板芯片组(如Realtek RTL8111系列)开启LSO反而引发分片错误,导致重传率飙升。
共享文件夹权限与NTFS设置精简
权限继承链过深、ACL条目过多会在线程处理每个文件时引入毫秒级延迟,积少成多,在传输数千个小文件时尤为明显。
第一步:简化共享权限
右键共享文件夹→“属性”→“共享”选项卡→“高级共享”→“权限”→删除除“Everyone”外所有用户/组,仅保留“Everyone”具有“读取”或“更改”权限(按需),勾选“替换所有子对象的权限项”。
第二步:关闭NTFS压缩与索引
同一文件夹属性→“常规”选项卡→取消勾选“压缩内容以便节省磁盘空间”;再点“高级”→取消勾选“允许在此文件夹中包含的文件被索引”。这两项在高IO场景下会争抢磁盘队列资源。
第三步:禁用8.3短文件名生成
管理员CMD中执行:fsutil behavior set disablelastaccess 1 → fsutil behavior set disable8dot3 1。后者可避免系统为每个文件额外生成DOS兼容名,减少元数据写入次数。
绕过主机防火墙与Windows搜索索引干扰
Windows Defender防火墙默认会对SMB连接进行深度包检测,尤其在首次访问时触发完整扫描,造成明显卡顿;而Windows搜索服务(WSearch)会持续监控共享目录变更,产生大量后台IO。
第一步:创建专用防火墙规则
打开“高级安全Windows Defender防火墙”→左侧“入站规则”→右侧“新建规则…”→选择“端口”→TCP特定本地端口“445”→允许连接→配置为“域、专用、公用”全选→命名“SMB Fast Allow”。
第二步:彻底停用Windows搜索索引对共享路径的监控
进入“索引选项”→“修改”→取消勾选所有含共享文件夹路径的磁盘或文件夹;若列表中未出现,点击“显示所有位置”→手动删除对应路径。完成后在CMD中执行:net stop wsearch && net start wsearch重启服务使配置生效。

















