Microsoftは8月26日(米国時間)、公式ブログ「SMB compression behavior & settings changes - Microsoft Tech Community」において、Windows 11およびWindows Server 2022向けに新しい仕様のSMB圧縮(SMB Compression)のリリースをアナウンスした。従来のSMB圧縮では、圧縮を実施するかどうかをファイルサイズなどをもとに自動で判別して処理していたが、新仕様ではこの自動判別を廃止し、常に圧縮を試みるようになるという。

  •  SMB compression behavior & settings changes - Microsoft Tech Community

    SMB compression behavior & settings changes - Microsoft Tech Community

SMB圧縮は、SMBによるネットワークファイル共有の際にファイルを圧縮して転送する技術である。圧縮や解凍の処理にCPUリソースを使用することから、通常の転送に比べると転送中のCPU負荷は上がるが、ファイルサイズが小さくなる分だけ転送に要する時間を短縮できるというメリットがある。ただし、ファイルによっては圧縮があまり有効でないものもあり、その場合はCPUリソースだけを無駄に消費することになる。これを防止するために、従来は圧縮が効果的であるかどうかを自動で判別し、効果的だと判断された場合のみ圧縮して転送するという仕様になっていた。

今回リリースされた新しい仕様では、この自動判別を廃止し、転送時は常に圧縮を試みるようになった。Microsoftによれば、従来の仕様では、まず第るの最初の500MiBを圧縮しようと試みた上で、圧縮可能なサイズが少なくとも100MiB未満の場合には圧縮を行わないようになっていたという。このことは、比較的小さなファイルについてはたとえ高い圧縮率が期待できたとしても圧縮が行われにくく、100MiB未満のファイルについては圧縮されないという結果を招いていた。

この古い仕様では、結局のところ圧縮を有効に活用できないという結論に至ったようだ。新しい仕様ではファイルサイズなどに関係なく常に圧縮が行われるようになる。小さなサイズのファイルや圧縮済みのファイルなど、圧縮率の低いファイルを転送する場合は無駄にCPUリソースを消費することになるが、総合的には常に圧縮する方がメリットが大きいということだろう。なお、SMB圧縮を有効にするか否かは、グループポリシーやPowerShellコマンド、および新しいレジストリオプションなどによってコントロールできるとのことだ。