Сжатие файлового SMB трафика при передаче на Windows 11 и Windows Server 2022

В версии протокола SMB , представленной в Windows Server 2022 и Windows 11 вы можете использовать сжатие трафика файлового доступа ( SMB compression ) для ускорения скорости передачи файлов (при копировании и открытии файлов по сети ), уменьшения трафика и нагрузки на сеть. В этой статье рассмотрим, как настроить SMB компрессию в Windows.

Благодаря использованию SMB компрессии (не путать с NTFS компрессией) вам больше не придется использовать сторонние программы для предварительного сжатия файлов перед передачей по медленной (или тарифицируемой) сети. В качестве алгоритма сжатия по умолчанию используется XPRESS (LZ77). Также можно переключить Windows на использование алгоритмов сжатия XPRESS Huffman (LZ77+Huffman), LZNT1, или PATTERN_V1*

Вы можете включить SMB компрессию как на стороне клиента, так и на стороне SMB сервера.

В Windows Server 2022 вы можете включить SMB сжатие двумя способами:

  • Через WAC ( Windows Admin Center ): Files and File Sharing -> File Shares -> выберите общую папку и в ее настройках включите опцию Compress data ;
  • С помощью PowerShell: при создании новой сетевой папки ( New-SmbShare -Name "Public" -Path "E:Public" -CompressData $true ) или для существующей шары ( Set-SmbShare -Name "share" -CompressData $true ). Можно вывести все каталоги, для которых включено сжатие SMB: Get-SmbShare -CompressData $true

Также вы можете включить поддержку SMB сжатия на стороне клиента. В этом случае не имеет значение, поддерживается ли SMB компрессия на стороне сервера.

Следующие команды позволят подключить сетевой диск в Windows 11 с поддержкой SMB сжатия:

net use * \fs01share /requestcompression:yes

или

New-SmbMapping -LocalPath "W:" -RemotePath "\fs01share" -CompressNetworkTraffic $true

Попробуем измерить скорость и время передачи vmdk файла виртуальной машины при включенной SMB компрессии. Можете создать сетевую папку с SMB сжатием и без нее, либо используйте параметр /compress в утилите robocopy , чтобы копировать файл с использованием SMB сжатия. Примеры команд

robocopy z: c:pswithout_smb_compress.vmdk srv-cent02.vmdk

robocopy z: c:pswith_smb_compress.vmdk srv-cent02.vmdk /compress

В моем примере при копировании 3 Гб vmdk файла время копирования при использовании сжатия SMB уменьшилось на 20 % (с 36 секунд до 29).

В RTM версиях Windows 11 и Windows Server 2022 SMB cжатие используется для всех файлов независимо от размера.

Чтобы всегда использовать SMB сжатие для файлов вы можете включить параметр реестра EnableCompressedTraffic = 1 в ветке HKLMSystemCurrentControlSetServicesLanManWorkstationParameters. Можно создать этот параметр реестра с помощью PowerShell :

Set-ItemProperty -Path HKLM:SystemCurrentControlSetServicesLanManWorkstationParameters -Name EnableCompressedTraffic -Value 1

Если вы хотите, чтобы SMB сжатие применялось только для больших файлов (более 100 Мб), нужно в этой же ветке настроить следующие параметры реестра:

  • CompressibilitySamplingSize = 524288000
  • CompressibleThreshold = 104857600
Если установить CompressibleThreshold = 0, CompressibilitySamplingSize = 4294967295 тогда SMB сжатие будет применяться при сетевом доступе ко всем файлам.

Если вы хотите полностью запретить использовать SMB компрессию в Windows, задайте параметр DisableCompression = 1 :

Set-ItemProperty -Path HKLM:SystemCurrentControlSetServicesLanManWorkstationParameters -Name DisableCompressedTraffic -Value 1

Или воспользуйтесь командой:

Set-SmbClientConfiguration -DisableCompression $true

Функция SMB Compression совместима с технологиями подписывания и шифрования SMB , SMB over QUIC, SMB multichannel, Hyper-V Live Migration . В утилитах Robocopy and Xcopy можно использовать новую опцию /compress для принудительного использования SMB сжатия при копировании файлов по сети. SMB Direct и RDMA пока не поддерживаются.

admin

Share
Published by
admin

Recent Posts

После включения диагностического запуска не удается войти в Windows — как исправить?

Некоторые пользователи, экспериментируя с конфигурацией системы в окне msconfig могут столкнуться с ситуацией, когда после…

1 неделя ago

WinScript — очистка и настройка Windows 11 и 10

На сайте не раз публиковались обзоры программ, предназначенных для очистки или настройки последних версий Windows.…

1 неделя ago

Предварительный просмотр накопительного обновления не устанавливается — решение

При установке некоторых обновлений Windows 11, имеющих в названии «Предварительный просмотр накопительного обновления», многие пользователи…

1 неделя ago

FixExec — восстановление ассоциаций .exe, .bat и .com файлов

Некоторые пользователи Windows 11, 10 и предыдущих версий системы могут столкнуться с ситуацией, когда исполняемые…

1 неделя ago

Ошибка 0x800705b4 при обновлении Windows 11 и 10 — как исправить?

При установке обновлений Windows 11/10 некоторые пользователи могут столкнуться с ошибкой с кодом 0x800705b4 и…

1 неделя ago

Обслуживание вашей версии Windows 11 окончено — что делать?

Пользователи Windows 11 могут столкнуться с сообщением «Обслуживание вашей версии Windows окончено» (Your version of…

1 неделя ago