俞木發(fā)
Windows 10在訪問遠程計算機中的共享文件和其他網(wǎng)絡資源時使用網(wǎng)絡重定向器組件。網(wǎng)絡重定向器在通過網(wǎng)絡訪問共享文件夾和文件時使用緩存機制,這減少了客戶端和服務器之間的流量和SMB請求數(shù)。
默認情況下,此緩存每10秒清除一次。而當客戶端訪問共享文件夾的內(nèi)容時,服務器會將上次更新的結(jié)果存儲10秒。這樣當我們在客戶端訪問共享資源時,如果被訪問的資源沒有發(fā)生變化,那么系統(tǒng)就直接調(diào)用緩存資源顯示在客戶端中。但是如果訪問的資源總是變化,如保存的是一些日志文件,那么當前訪問到的可能就是緩存的舊文件,它在10秒后刷新才會顯示最新的數(shù)據(jù)。由于緩存機制的存在,會導致我們在訪問一些頻繁變化的文件時無法得到最新的結(jié)果。另外一方面,由于網(wǎng)卡或者系統(tǒng)設置會造成網(wǎng)絡傳輸出現(xiàn)問題,這也會導致出現(xiàn)更長時間的延遲。綜上,解決問題的方法就是減小緩存時間,同時對網(wǎng)卡和系統(tǒng)的設置進行優(yōu)化。
了解了問題產(chǎn)生的原因后,就可以根據(jù)不同的原因使用相應的優(yōu)化方案去解決。
原因1:緩存設置所導致
1更改全局緩存存儲時間
如果需要以更快的速度看到最新的共享文件,我們可以手動對緩存時間進行更改。首先啟動PowerShell,在其中輸入命令“Get-SmbClientConfiguration|select*cache*”,回車執(zhí)行后可以顯示本機當前緩存的設置(圖1)。其中“DirectoryCacheLifetime”指共享文件夾元數(shù)據(jù)緩存的保存時間,默認為10秒;“FileInfoCacheLifetime”指保存緩存和文件信息的時間,默認為10秒。
大家可以根據(jù)實際需求進行更改。比如可以在Power Shell窗口中輸入并執(zhí)行命令“Set-SmbClientConf iguration -Director yCacheLifetime 3”和“Set-SmbClientConfiguration-FileInfoCacheLifetime 3”,將這兩個時間設置為3秒,這樣可以將延遲時間縮短(圖2)。
如果經(jīng)過上述的設置后,訪問某共享文件夾的速度仍然有延遲,那么還可以針對特定的共享資源,關(guān)閉SMB緩存功能。
在文件資源管理器中找到共享文件夾,右擊并選擇“屬性”,在打開的窗口中依次切換到“共享→高級共享→緩存”,然后在打開的“脫機設置”窗口中,單選其下的“該共享文件夾中的文件或程序在脫機狀態(tài)下不可用”,依次點擊“確定”退出(圖3)。
原因2:網(wǎng)卡設置所導致
共享資源是通過網(wǎng)絡進行訪問的,對網(wǎng)卡的一些設置進行優(yōu)化可以提高訪問速度。
1關(guān)閉“Large Send Offload”選項
為了解決網(wǎng)絡傳輸速度過快而導致本地CPU資源占用過高的問題,系統(tǒng)默認會將網(wǎng)卡的“Large Send Of fload”(中文譯為“大量傳送減負”)設置為“開啟”狀態(tài),這樣網(wǎng)卡在傳輸速度過高時會自動降速,從而降低訪問共享資源的速度。打開設備管理器,找到本機網(wǎng)卡并打開其“屬性”,接著切換到“高級”,將其中的“Large Send Offloadv2(I P v4)”和“Larg eSendOffload v2(IPv6)”的值均設置為Disabled(圖4)。
2禁用舊版NetBIOS協(xié)議
依次點擊“開始→運行”,輸入“ncpa.cpl”并回車,打開網(wǎng)絡連接窗口,接著右擊本地網(wǎng)卡并選擇“屬性”,依次進入“Internet協(xié)議版本(TCP/IPv4)→屬性→常規(guī)→高級”,在打開的窗口中切換到“WINS”選項,在“NetBIOS設置”下選擇“禁用TCP/IP上的NetBIOS”并確定即可(圖5)。
對Windows的默認設置進行優(yōu)化也可以提高訪問共享文件的速度。在任務欄的搜索框中輸入“啟用或關(guān)閉Windows功能”,接著在打開的窗口中取消“遠程差分壓縮API支持”前的勾選(圖6)。
如果故障依舊,那么很可能是本機網(wǎng)絡設置出現(xiàn)了問題,此時可以啟動“設置”,依次展開“網(wǎng)絡和Inter net→高級網(wǎng)絡設置→網(wǎng)絡重置”,點擊“立即重置”重置網(wǎng)絡即可。