Delen via


SMB-compressie

Met SMB-compressie kan een beheerder, gebruiker of toepassing compressie van bestanden aanvragen tijdens de overdracht via het netwerk. Hierdoor hoeft u een bestand niet eerst handmatig te deflateren met een toepassing, het te kopiëren en vervolgens op de doelcomputer op te blazen. Gecomprimeerde bestanden verbruiken minder netwerkbandbreedte en nemen minder tijd in beslag om over te dragen, tegen de kosten van een licht verhoogd CPU-gebruik tijdens overdrachten. SMB-compressie is het meest effectief op netwerken met minder bandbreedte, zoals het 1 Gbps Ethernet- of Wi-Fi-netwerk van een client; een bestandsoverdracht via een niet-opgenomen ethernetnetwerk van 100 Gbps tussen twee servers met flashopslag kan net zo snel zijn zonder SMB-compressie in de praktijk, maar zal in de praktijk nog steeds minder congestie veroorzaken voor andere toepassingen.

SMB-compressie in Windows heeft de volgende kenmerken:

  • Ondersteunt compressiealgoritmen XPRESS (LZ77), XPRESS Huffman (LZ77+Huffman), LZNT1 of PATTERN_V1*. XPRESS wordt automatisch gebruikt
  • Ondersteunt compressiealgoritme LZ4 op Windows Server 2025
  • Ondersteunt SMB-ondertekening en SMB-versleuteling
  • Ondersteunt SMB via QUIC
  • Ondersteunt SMB Multichannel
  • Biedt geen ondersteuning voor SMB Direct via RDMA

Note

Windows 11 en Windows Server 2025 ondersteunen ook compressiealgoritme LZ4 zoals gedefinieerd door LZ4.org. Zie de documentatie voor LZ4-compressie voor meer informatie over dit compressiealgoritme.

Bekijk deze video voor een demonstratie van SMB-compressie:

Requirements

Als u SMB-compressie wilt gebruiken in een traditionele workload van een clientbestandsserver, hebt u het volgende nodig:

SMB-compressie configureren

U kunt SMB-compressie configureren vanuit zowel client- als serverperspectief. Client en server verwijzen niet naar een bepaalde editie, zoals Windows Server 2022 of Windows 11, versie 24H2, maar in plaats daarvan naar de architectuur van een bestandsoverdracht tussen twee computers. Zowel Windows Server 2022 als Windows 11 ondersteunen het zijn van een client of server met SMB-compressie.

SMB-compressie op bestandsshares aanvragen

U kunt shares configureren om altijd compressie aan te vragen wanneer ze zijn verbonden met clients. U kunt Windows Admin Center of PowerShell gebruiken.

Windows Admin Center gebruiken

  1. Installeer Windows Admin Center en maak verbinding met een Windows Server 2022-bestandsserver.
  2. Klik op de menuopdracht Bestanden en het delen van bestanden .
  3. Klik op bestandsdeling.
  4. Een bestaande share bewerken of een nieuwe share maken.
  5. Selecteer Gegevens comprimeren en klik vervolgens op Toevoegen of Bewerken.

Schermopname van Windows Admin Center op de bestandsserver van Windows Server 2022.

PowerShell gebruiken

  1. Open een PowerShell-opdrachtprompt met verhoogde bevoegdheid als beheerder.

  2. Maak een nieuwe share met compressie met behulp van New-SMBShare de parameter en het -CompressData $true argument. Voorbeeld:

    New-SmbShare -Name "Sales" -Path "C:\sales" -CompressData $true
    
  3. Bewerk een bestaand gedeeld bestand met compressie door de parameter Set-SMBShare en het argument -CompressData $true te gebruiken. Voorbeeld:

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

SMB-compressie aanvragen voor gekoppelde netwerkschijven

U kunt verzoeken om alle gegevens die via een netwerkschijf worden gekopieerd, te comprimeren. Dit kan worden gedaan als onderdeel van een aanmeldingsscript of wanneer u dit handmatig uitvoert.

  1. Open een PowerShell-opdrachtprompt.

  2. Koppel een schijf met New-SMBMapping en het -CompressNetworkTraffic $true-parameter en -argument. Voorbeeld:

    New-SmbMapping -LocalPath "Z:" -RemotePath "\\fs1.corp.contoso.com\sales" -CompressNetworkTraffic $true
    

SMB-compressie aanvragen met kopieerhulpprogramma's

U kunt aanvragen dat SMB-compressie wordt uitgevoerd voor bepaalde bestanden met robocopy of xcopy.

Note

Als u wilt dat Verkenner, kopieertools van derden of toepassingen compressie gebruiken, stations toewijzen met compressie, compressie op shares activeren of SMB-clients instellen om altijd te comprimeren.

  1. Open een CMD-prompt of PowerShell-opdrachtprompt.

  2. Kopieer met de vlag /COMPRESS. Voorbeeld:

    ROBOCOPY c:\hypervdisks \\hypervcluster21.corp.contoso.com\disks$ *.vhdx /COMPRESS
    

Compressieaanvragen altijd vereisen of altijd weigeren

Vanaf Windows Server 2022 met update KB5016693 (OS Build 20348.946) en Windows 11 met update KB5016691 (OS Build 22000.918) kunt u een SMB-client of SMB-server configureren om altijd compressie aan te vragen en aanvragen voor compressie altijd te weigeren. U kunt nu Groepsbeleid of PowerShell gebruiken; in de eerste versie van Windows 11 en Windows Server 2022 kunt u alleen registerinstellingen gebruiken om het grootste deel van dit gedrag te beheren en u kunt geen SMB-server configureren om altijd compressie aan te vragen ondanks de share-instellingen. Een SMB-client en SMB-server verwijzen naar de SMB-services, niet naar een Windows-editie of SKU. Al deze SMB-wijzigingen worden onmiddellijk van kracht zonder opnieuw opstarten.

Altijd proberen compressie (SMB-client)

  1. Voer de console Groepsbeleidsbeheer uit voor uw Active Directory-domein en maak of navigeer naar een groepsbeleid.
  2. Vouw het beleid uit Computerconfiguratie\Beleid\Beheersjablonen\Network\Lanman-werkstation.
  3. Schakel beleid standaard SMB-compressie in.
  4. Sluit de beleidseditor.

Nooit comprimeren (SMB-client)

  1. Voer de console Groepsbeleidsbeheer uit voor uw Active Directory-domein en maak of navigeer naar een groepsbeleid.
  2. Vouw het beleid uit Computerconfiguratie\Beleid\Beheersjablonen\Network\Lanman-werkstation.
  3. Schakel het beleid SMB-compressie uit.
  4. Sluit de beleidseditor.

Altijd proberen compressie (SMB-server)

  1. Voer de console Groepsbeleidsbeheer uit voor uw Active Directory-domein en maak of navigeer naar een groepsbeleid.
  2. Vouw beleidscomputerconfiguratie\Beleid\Beheersjablonen\Network\Lanman-server uit.
  3. Schakel het beleid dat het verzoek om compressie van verkeer voor alle gedeelten inschakelt in.
  4. Sluit de beleidseditor.

Nooit comprimeren (SMB-server)

  1. Voer de console Groepsbeleidsbeheer uit voor uw Active Directory-domein en maak of navigeer naar een groepsbeleid.
  2. Vouw beleidscomputerconfiguratie\Beleid\Beheersjablonen\Network\Lanman-server uit.
  3. Schakel het beleid SMB-compressie uit.
  4. Sluit de beleidseditor.

Compressiegedrag begrijpen en beheren

Vanaf Windows Server 2022 met update KB5016693 (OS Build 20348.946) en Windows 11 met update KB5016691 (OS Build 22000.918), probeert SMB standaard altijd een bestand te comprimeren wanneer een client of server dit aanvraagt, zonder compressiesampling te gebruiken.

Note

In de oorspronkelijke versie van Windows Server 2022 en Windows 11, maakt de SMB-compressie standaard gebruik van een algoritme, waarbij werd geprobeerd de eerste 524.288.000 bytes (500 MiB) van een bestand tijdens de overdracht te comprimeren. Daarbij werd bij gehouden dat ten minste 104.857.600 bytes (100 MiB) gecomprimeerd binnen dat bereik van 500 MiB. Als minder dan 100 MiB comprimeerbaar was, stopte SMB-compressie met het proberen te comprimeren van de rest van het bestand. Als ten minste 100 MiB is gecomprimeerd, heeft SMB-compressie geprobeerd de rest van het bestand te comprimeren. Als dit gedrag wordt gewijzigd, wordt steekproeven nu standaard uitgeschakeld en probeert SMB altijd het hele bestand te comprimeren wanneer een client of server dit aanvraagt.

SMB-compressie testen

Een eenvoudige manier om uw compressieconfiguratie te testen, is het gebruik van VHDX-bestanden. U kunt een VHDX maken en koppelen, er enkele bestanden aan toevoegen, vervolgens de VHDX ontkoppelen en kopiëren als een bestand. U kunt ook gewoon een bestaand VHDX-bestand van de ontkoppelde virtuele machine kopiëren, omdat veel van de bestandsinhoud ervan wordt gecomprimeerd. Voor een voorbeeld van het maken van een VHDX-testbestand:

  1. Start Diskmgmt.msc.

  2. Selecteer Lokale schijf (C:) door erop te klikken.

  3. Klik op Actie en daarna op VHD maken.

  4. Klik in Diskmgmt met de rechtermuisknop op de VHDX die nu wordt weergegeven als 'Niet geïnitialiseerd' en klik op Schijf initialiseren en klik op OK. Klik met de rechtermuisknop op de sectie Schijven niet-toegewezen en klik op Nieuw eenvoudig volume, klik vervolgens op Volgende voor alle menuprompts en klik vervolgens op Voltooien.

  5. Geef een bestandspad op, stel de grootte in op '25 GB', selecteer VHDX en Vaste grootte en klik op OK.

    Schermopname van het maken en koppelen van virtuele harde schijf voor Windows Hyper-V.

  6. Klik met de rechtermuisknop op de schijf en klik op VHD loskoppelen en klik vervolgens op OK.

  7. Dubbelklik in Verkenner op dat VHDX-bestand om het te koppelen. Kopieer een paar MB aan niet-comprimeerbare bestanden, zoals JPG-bestanden, klik vervolgens met de rechtermuisknop op de gekoppelde schijf en kies Eject.

U hebt nu een groot testbestand met gecomprimeerde inhoud.

Het testen van SMB-compressie tussen een paar virtuele machines die op dezelfde Hyper-V host worden uitgevoerd, geeft mogelijk geen tijdsbesparing weer omdat de virtuele switch 10 Gbps is en geen congestie heeft, plus moderne hypervisors gebruiken vaak flashopslag. Test uw compressie via de echte netwerken die u van plan bent te gebruiken. U kunt ook de netwerkbandbreedte op Hyper-V VM's verminderen voor testdoeleinden met behulp van Set-VMNetworkAdapter met -MaximumBandwidth bijvoorbeeld ingesteld op 1Gb.

Als u wilt zien hoe goed de compressie werkt, kunt u hetzelfde bestand twee keer naar een server kopiëren, eenmaal met de /compress vlag en opnieuw zonder compressie, waardoor het serverbestand tussen elke test wordt verwijderd. Als het bestand wordt gecomprimeerd, ziet u minder netwerkgebruik in Taakbeheer en een lagere kopieertijd. U kunt ook het prestatiemeterobject van de SMB-server 'SMB-servershares' bekijken voor de tellers 'Gecomprimeerde aanvragen per seconde' en 'Gecomprimeerde antwoorden per seconde'.

RDMA en SMB Direct

SMB-compressie biedt geen ondersteuning voor SMB Direct en RDMA. Dit betekent dat zelfs als de client compressie aanvraagt en de server dit ondersteunt, compressie niet wordt geprobeerd met SMB Direct en RDMA. Ondersteuning voor SMB-compressie met SMB Direct en RDMA wordt geleverd na de openbare previews van Windows Server 2022 en Windows 11.