一、为什么SMB传输速度慢?

如果你用过SMB(Windows共享文件夹协议)传文件,可能遇到过速度慢的问题。明明局域网带宽足够,但传输大文件时却像蜗牛爬行。这通常由以下几个原因导致:

  1. 网络配置问题:比如MTU(最大传输单元)设置不合理、网络拥塞等。
  2. 协议版本差异:SMB1.0、SMB2.0、SMB3.0的性能差异巨大。
  3. 服务器/客户端配置不当:比如缓存设置、加密方式等。
  4. 硬件限制:老旧的网卡、交换机或硬盘读写速度跟不上。

接下来,我们从实际优化角度一步步解决这些问题。


二、优化网络基础配置

1. 检查并调整MTU值

MTU值设置不合理会导致数据包分片,增加传输延迟。通常,以太网的MTU默认是1500,但某些网络环境可能需要调整。

示例(Windows PowerShell技术栈)

# 查看当前MTU值  
Get-NetAdapter | Select-Object Name, MTU  

# 修改MTU值为1492(适用于某些PPPoE网络)  
Set-NetAdapter -Name "以太网" -MtuSize 1492  

注释:如果网络设备支持巨帧(Jumbo Frame),可以尝试设置为9000,但需确保所有设备兼容。

2. 关闭低效的SMB版本

SMB1.0不仅慢,还存在安全隐患。建议禁用并强制使用SMB3.0。

示例(PowerShell)

# 禁用SMB1.0  
Disable-WindowsOptionalFeature -Online -FeatureName "SMB1Protocol"  

# 强制使用SMB3.0  
Set-SmbServerConfiguration -EncryptData $true -Force  

注释:加密会略微增加CPU开销,但现代硬件基本无感,安全性更重要。


三、服务器与客户端的调优

1. 启用大文件传输缓存

SMB默认缓存较小,大文件传输时频繁读写磁盘会拖慢速度。可以通过注册表调整缓存大小。

示例(PowerShell)

# 修改客户端缓存大小(单位:字节)  
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" -Name "FileInfoCacheEntriesMax" -Value 1024  

# 重启服务生效  
Restart-Service LanmanWorkstation  

注释:此优化适合频繁传输大文件的场景,如视频编辑或虚拟机共享。

2. 关闭不必要的文件监控

Windows的实时防病毒扫描会检查每个传输的文件,导致延迟。可以临时排除SMB共享目录。

示例(PowerShell)

# 添加共享目录到杀毒软件排除列表(以Defender为例)  
Add-MpPreference -ExclusionPath "\\Server\Share"  

四、高级场景:多通道与RDMA加速

如果设备支持,SMB3.0的多通道和RDMA(远程直接内存访问)能大幅提升速度。

1. 启用SMB多通道

多通道允许同时使用多个网卡传输数据。

示例(PowerShell)

# 查看当前多通道状态  
Get-SmbMultichannelConnection  

# 强制启用多通道  
Set-SmbClientConfiguration -EnableMultiChannel $true  

注释:需要至少两块网卡,且IP地址在同一子网。

2. 配置RDMA(需硬件支持)

RDMA绕过操作系统内核,直接网卡到网卡传输,延迟极低。

示例(PowerShell)

# 检查网卡是否支持RDMA  
Get-NetAdapterRdma  

# 启用RDMA  
Enable-NetAdapterRdma -Name "以太网"  

注释:需专用网卡(如Mellanox ConnectX系列)和交换机支持。


五、应用场景与注意事项

适用场景

  • 企业文件共享:多人协作编辑大型文档。
  • 虚拟机存储:通过SMB挂载虚拟磁盘。
  • 媒体处理:直接读写视频、图片等大文件。

技术优缺点

  • 优点:配置简单,兼容性好,适合Windows环境。
  • 缺点:跨平台性能较差(如Linux客户端)。

注意事项

  1. 加密会略微降低性能,但建议始终开启。
  2. 硬件兼容性需提前测试(如RDMA)。
  3. 避免在无线网络中使用高性能SMB配置。

六、总结

通过调整MTU、禁用老旧协议、优化缓存和启用多通道,SMB传输速度可以轻松翻倍。对于高性能需求,RDMA是终极方案,但需硬件投入。实际优化时,建议先测速定位瓶颈,再针对性调整。