Windows-Server-2008-R2

從 XP 到 Windows 2008 R2 的 SMB 訪問

  • October 17, 2012

事情是這樣的……我從 Windows XP 客戶端到 Windows 2008R2 伺服器的文件複製性能非常慢。以下是事實: Windows XP 到 Windows 2K3:快速 Windows XP 到 Windows 2K8:非常慢 Windows 7 到 Windows(任何):快速

儘管顯而易見的解決方案是升級到 Windows 7,但我們有 900 台台式機,因此短期內無法選擇。

我已經嘗試了一切:禁用 SMB2.0、禁用安全簽名、更改 TCP 視窗大小、禁用 W2K8 自動調整、升級驅動程序等。

我們消除了網路;伺服器和客戶端都連接到同一個核心交換機(沒有躍點,沒有路由器,相同的 VLAN)。

在使用數據包擷取實用程序監控網路時,我們看到在 W2K8 和 XP 機器之間交換的 SMB 數據包是非常小的數據包(256 字節);儘管 MTU 已正確設置 (1500) 並且沒有任何碎片。事實上,這些 SMB 數據包在 IP 數據報上顯示視窗為 65535 或關閉。

相同的跟踪,使用相同的應用程序但沒有使用 W2K8 共享使用 Windows XP 共享(並且速度很快)顯示 4096 字節的 SMB 數據包。如有必要,我可以發布痕跡。

那麼,為什麼 XP->W2K8 協商安排 24 字節 SMB 有效載荷,而 XP->XP 協商安排 4096 個 SMB 數據包?

有任何想法嗎?我缺那些…

解決了!

機會鎖定被禁用。這阻止了預讀記憶體的工作,並且交換的 SMB 數據包非常小。

啟用機會鎖後,我們會看到 4096 字節 (4K) 的 SMB 數據包,這是一個 NTFS 塊的大小。

現在一切都很好。

引用自:https://serverfault.com/questions/437937