俞木發

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)。
如果經過上述的設置后,訪問某共享文件夾的速度仍然有延遲,那么還可以針對特定的共享資源,關閉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)。

對Windows的默認設置進行優化也可以提高訪問共享文件的速度。在任務欄的搜索框中輸入“啟用或關閉Windows功能”,接著在打開的窗口中取消“遠程差分壓縮API支持”前的勾選(圖6)。
如果故障依舊,那么很可能是本機網絡設置出現了問題,此時可以啟動“設置”,依次展開“網絡和Inter net→高級網絡設置→網絡重置”,點擊“立即重置”重置網絡即可。