Windows 11本月可選更新明顯改善SMB壓縮算法
數日前,微軟為 Windows 11 用戶推出了可選更新 KB5016691,以及為 Windows Server 2022 用戶推出了 KB5016693。可選更新 KB5016691 所提供的內容將會整合到下月補丁星期二發布的累積更新中,其中部分新功能已經可以嘗鮮使用。
KB5016691 和 KB5016693 兩個可選更新在其更新日志中,均提及對 Server Message Block (SMB) 壓縮的改進,但是日志中并未提及任何細節。幸運的是,微軟的內德·派爾(Ned Pyle)在一篇專門的博文中談到了 SMB 壓縮的所有增強功能。
在客戶端-服務器環境中使用 SMB 壓縮允許管理員、用戶和應用通過網絡傳輸內容時對文件進行壓縮。這種方式的優點在于明顯減少帶寬的占用,但由于通過網絡傳輸文件之前和之后需要執行壓縮和解壓縮過程,因此該方式的代價就是增加 CPU 占用率。
在 KB5016691 和 KB5016693 出現之前,SMB 壓縮的行為方式很奇怪。基本上,它使用了一種默認算法,該算法僅嘗試壓縮文件的前 500MiB(注意:1MB = 1000KB 但 1MiB = 1024KB),任何小于此閾值的內容都不會被壓縮,即使它具備“可壓縮”的特性。
還有一個額外注意的地方。在讀取文件的前 500MiB 期間,如果算法檢測到可執行壓縮程序的文件容量在 100MiB 以下,那么則根本不會嘗試壓縮文件的其余部分。
想象以下,你想要傳輸 10GiB 容量的可壓縮文件,但由于前 500MiB 中只有 80MiB 可以壓縮,那么 SMB 壓縮算法將完全放棄壓縮文件,因此最終在網絡上傳輸的文件大小為 10 GiB。強制壓縮的唯一方法是覆蓋某些默認注冊表設置,除非您確切知道自己在做什么,否則編輯這些設置并不是您真正應該做的。
這是一種非常奇怪的行為,并且可能影響了很多用例。然而,好消息是微軟正在完全取消算法中的限制。本質上,SMB 壓縮現在將盡力壓縮您請求壓縮的所有文件。
顯然,這并不意味著在每個用例中都應該使用 SMB 壓縮。 Pyle 強調,一些格式,如 JPG、ZIP 和 DOCX 已經被壓縮,但取消這些限制肯定會使 VHDX、ISO 和 DMP 等其他格式受益。
不過,微軟并不僅僅止步于此。它引入了新的 PowerShell、組策略和注冊表設置,可以更輕松地控制這兩種行為。如果您有興趣,所有這些詳細信息和相關命令都會在此處的博客中提及。