解决访问共享文件缓慢的问题
2022-05-30俞木发
俞木发
一 为什么访问共享文件夹的速度会缓慢
Windows 10在访问远程计算机中的共享文件和其他网络资源时使用网络重定向器组件。网络重定向器在通过网络访问共享文件夹和文件时使用缓存机制,这减少了客户端和服务器之间的流量和SMB请求数。
默认情况下,此缓存每10秒清除一次。而当客户端访问共享文件夹的内容时,服务器会将上次更新的结果存储10秒。这样当我们在客户端访问共享资源时,如果被访问的资源没有发生变化,那么系统就直接调用缓存资源显示在客户端中。但是如果访问的资源总是变化,如保存的是一些日志文件,那么当前访问到的可能就是缓存的旧文件,它在10秒后刷新才会显示最新的数据。由于缓存机制的存在,会导致我们在访问一些频繁变化的文件时无法得到最新的结果。另外一方面,由于网卡或者系统设置会造成网络传输出现问题,这也会导致出现更长时间的延迟。综上,解决问题的方法就是减小缓存时间,同时对网卡和系统的设置进行优化。
二 提高访问共享文件夹的速度
了解了问题产生的原因后,就可以根据不同的原因使用相应的优化方案去解决。
原因1:缓存设置所导致
1更改全局缓存存储时间
如果需要以更快的速度看到最新的共享文件,我们可以手动对缓存时间进行更改。首先启动PowerShell,在其中输入命令“Get-SmbClientConfiguration|select*cache*”,回车执行后可以显示本机当前缓存的设置(图1)。其中“DirectoryCacheLifetime”指共享文件夹元数据缓存的保存时间,默认为10秒;“FileInfoCacheLifetime”指保存缓存和文件信息的时间,默认为10秒。
大家可以根据实际需求进行更改。比如可以在Power Shell窗口中输入并执行命令“Set-SmbClientConf iguration -Director yCacheLifetime 3”和“Set-SmbClientConfiguration-FileInfoCacheLifetime 3”,将这两个时间设置为3秒,这样可以将延迟时间缩短(图2)。
2禁用指定共享文件夹的SMB缓存
如果经过上述的设置后,访问某共享文件夹的速度仍然有延迟,那么还可以针对特定的共享资源,关闭SMB缓存功能。
在文件资源管理器中找到共享文件夹,右击并选择“属性”,在打开的窗口中依次切换到“共享→高级共享→缓存”,然后在打开的“脱机设置”窗口中,单选其下的“该共享文件夹中的文件或程序在脱机状态下不可用”,依次点击“确定”退出(图3)。
原因2:网卡设置所导致
共享资源是通过网络进行访问的,对网卡的一些设置进行优化可以提高访问速度。
1关闭“Large Send Offload”选项
为了解决网络传输速度过快而导致本地CPU资源占用过高的问题,系统默认会将网卡的“Large Send Of fload”(中文译为“大量传送减负”)设置为“开启”状态,这样网卡在传输速度过高时会自动降速,从而降低访问共享资源的速度。打开设备管理器,找到本机网卡并打开其“属性”,接着切换到“高级”,将其中的“Large Send Offloadv2(I P v4)”和“Larg eSendOffload v2(IPv6)”的值均设置为Disabled(图4)。
2禁用旧版NetBIOS协议
依次点击“开始→运行”,输入“ncpa.cpl”并回车,打开网络连接窗口,接着右击本地网卡并选择“属性”,依次进入“Internet协议版本(TCP/IPv4)→属性→常规→高级”,在打开的窗口中切换到“WINS”选项,在“NetBIOS设置”下选择“禁用TCP/IP上的NetBIOS”并确定即可(图5)。
原因3:系统的原因所导致
对Windows的默认设置进行优化也可以提高访问共享文件的速度。在任务栏的搜索框中输入“启用或关闭Windows功能”,接着在打开的窗口中取消“远程差分压缩API支持”前的勾选(图6)。
如果故障依旧,那么很可能是本机网络设置出现了问题,此时可以启动“设置”,依次展开“網络和Inter net→高级网络设置→网络重置”,点击“立即重置”重置网络即可。