Azure Files SMB共享复制速度过慢的原因及优化方法咨询
Azure Files SMB挂载后复制速度慢(1-3MB/s)的原因及优化方案
挂载脚本
$connectTestResult = Test-NetConnection -ComputerName storageaccountname.file.core.windows.net -Port 445 if ($connectTestResult.TcpTestSucceeded) { # Save the password so the drive will persist on reboot cmd.exe /C "cmdkey /add:`"storageaccountname.file.core.windows.net`" /user:`"localhost\storageaccountname`" /pass:`"q/Password==`"" # Mount the drive New-PSDrive -Name R -PSProvider FileSystem -Root "\\storageaccountname.file.core.windows.net\database" -Persist } else { Write-Error -Message "Unable to reach the Azure storage account via port 445. Check to make sure your organization or ISP is not blocking port 445, or use Azure P2S VPN, Azure S2S VPN, or Express Route to tunnel SMB traffic over a different port." }
速度慢的常见原因
- 网络限制:ISP或企业防火墙对445端口做了带宽限制,或者本地网络到Azure存储区域的延迟过高。
- 存储账户层级:使用标准性能层级存储账户,其IOPS和带宽上限远低于高级性能层级。
- SMB版本/配置:Windows 10默认启用SMB 1.0(过时协议)会严重拖慢速度;未开启SMB多通道、MTU配置不合理也会影响传输效率。
- 复制工具局限:Windows资源管理器默认单线程复制,无法充分利用可用带宽,尤其是批量小文件场景。
- 区域不匹配:本地计算机与Azure存储账户跨区域部署,长距离传输导致延迟高、吞吐量低。
提升复制速度的解决办法
网络层面优化
- 确认本地网络对445端口无带宽限制,若受ISP/防火墙限制,改用Azure P2S VPN、S2S VPN或Express Route通过专用通道传输SMB流量。
- 确保本地网络MTU设置为1500(Azure存储默认支持),避免数据包分片损耗性能。
存储账户配置优化
- 若业务允许,将存储账户升级为高级性能层级(FileStorage类型),该层级提供更高的IOPS和带宽上限,适配高吞吐量场景。
- 调整存储账户区域至与本地用户所在区域接近,减少跨区域传输延迟。
SMB协议配置优化
- 禁用SMB 1.0,强制使用SMB 3.0+协议:
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol - 启用SMB多通道(Windows 10 1709及以上版本支持),允许客户端利用多网络连接并行传输:
Set-SmbClientConfiguration -EnableMultiChannel $true
复制工具优化
- 使用多线程复制工具替代资源管理器:
- 用
Robocopy开启多线程:Robocopy R:\ C:\LocalFolder *.* /E /MT:32 /R:3 /W:5/MT:32表示32线程复制,可根据网络情况调整线程数。 - 用
AzCopy(Azure存储专用优化工具):AzCopy copy "https://storageaccountname.file.core.windows.net/database" "C:\LocalFolder" --recursive
- 用
其他优化
- 批量小文件先打包成压缩包再传输,减少单个文件的连接开销。
- 检查本地计算机是否启用QoS带宽限制,如有则关闭相关规则。
内容的提问来源于stack exchange,提问作者WinBoss
相关产品推荐
相关产品推荐

