Поиск по сайту:

Включите сжатие SMB для быстрой передачи файлов в Windows 11/Windows Server 2022


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

Благодаря использованию сжатия SMB (не путайте его со сжатием NTFS) вам больше не нужно использовать сторонние инструменты для предварительного сжатия файлов перед их передачей по медленной (или лимитированной) сети. Алгоритм сжатия по умолчанию:

XPRESS (LZ77)

. Вы также можете включить

XPRESS Huffman (LZ77+Huffman)

,

LZNT1

, или

PATTERN_V1*

Алгоритмы сжатия в Windows.

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

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

  • Использование Центра администрирования Windows (WAC): Файлы и общий доступ к файлам -> Общие ресурсы -> выберите общую сетевую папку и установите флажок Сжимать данные. в его настройках;

  • Использование PowerShell: при создании новой общей папки (

    New-SmbShare -Name "Public" -Path "E:\Public" -CompressData $true

    ) или для существующей акции (

    Set-SmbShare -Name "Public" -CompressData $true

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

    Get-SmbShare -CompressData $true

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

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

net use * \\munfs01\images /requestcompression:yes

или :

New-SmbMapping -LocalPath "U:" -RemotePath "\\munfs01\images" -CompressNetworkTraffic $true

Попробуем измерить скорость и время передачи файлов VMDK (диск виртуальной машины VMware) с включенным сжатием SMB. Вы можете создать общую папку с включенной опцией сжатия SMB или без нее или использовать

/compress

опция robocopy для принудительного копирования файла с использованием сжатия SMB. Вот примеры команд:

robocopy z:\ c:\VM\without_smb_compression.vmdk srv02.vmdk
robocopy z:\ c:\VM\with_smb_compression.vmdk srv02.vmdk /compress

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

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

Чтобы всегда использовать сжатие SMB для передачи файлов, вы можете установить параметр

EnableCompressedTraffic = 1

в разделе реестра HKLM\System\CurrentControlSet\Services\LanManWorkstation\Parameters. Вы можете установить этот параметр реестра с помощью PowerShell:

Set-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\LanManWorkstation\Parameters\ -Name EnableCompressedTraffic -Value 1

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

  • СжимаемостьSamplingSize=524288000

  • СжимаемыйПорог=104857600

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

Если вы хотите полностью отключить использование сжатия SMB в Windows, установите

DisableCompression = 1
Set-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\LanManWorkstation\Parameters\ -Name DisableCompressedTraffic -Value 1

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

Set-SmbClientConfiguration -DisableCompression $true

Функция сжатия SMB совместима с шифрованием и подписью SMB, SMB через QUIC, многоканальным SMB и динамической миграцией Hyper-V. SMB Direct и RDMA пока не поддерживаются. Вы можете использовать новый

/compress

опция в инструментах Robocopy и Xcopy, позволяющая принудительно использовать сжатие SMB при копировании файлов по сети.

Статьи по данной тематике