Bagikan melalui


Pemadatan SMB

Kompresi SMB memungkinkan administrator, pengguna, atau aplikasi untuk meminta kompresi file saat ditransfer melalui jaringan. Ini menghapus kebutuhan untuk terlebih dahulu mengempis file secara manual dengan aplikasi, menyalinnya, lalu mengembang di komputer tujuan. File terkompresi menggunakan lebih sedikit bandwidth jaringan dan membutuhkan lebih sedikit waktu untuk ditransfer, dengan biaya penggunaan CPU yang sedikit meningkat selama transfer. Kompresi SMB paling efektif pada jaringan dengan bandwidth yang lebih sedikit, seperti ethernet 1 Gbps klien atau jaringan Wi-Fi; transfer file melalui jaringan ethernet 100 Gbps yang tidak dikongestasi antara dua server dengan penyimpanan flash mungkin secepat tanpa kompresi SMB dalam praktiknya, tetapi masih akan menciptakan lebih sedikit kemacetan untuk aplikasi lain.

Pemadatan SMB di Windows memiliki karakteristik berikut:

  • Mendukung algoritma kompresi XPRESS (LZ77), XPRESS Huffman (LZ77+Huffman), LZNT1, atau PATTERN_V1*. XPRESS digunakan secara otomatis
  • Mendukung algoritma kompresi LZ4 di Windows Server 2025
  • Mendukung penandatanganan SMB dan enkripsi SMB
  • Mendukung SMB over QUIC
  • Mendukung SMB Multichannel
  • Tidak mendukung SMB Direct melalui RDMA

Catatan

Windows 11 dan Windows Server 2025 juga mendukung algoritma kompresi LZ4 seperti yang didefinisikan oleh LZ4.org. Untuk informasi lebih lanjut tentang algoritma kompresi ini, lihat Dokumentasi Kompresi LZ4.

Untuk demonstrasi kompresi SMB, tonton video ini:

Persyaratan

Untuk menggunakan kompresi SMB dalam beban kerja server file klien tradisional, Anda memerlukan hal berikut:

Mengonfigurasi kompresi SMB

Anda dapat mengonfigurasi kompresi SMB dari perspektif klien dan server. Klien dan server tidak merujuk ke edisi tertentu seperti Windows Server 2022 atau Windows 11, versi 24H2, tetapi sebaliknya ke arsitektur transfer file antara dua komputer. Dukungan Windows Server 2022 dan Windows 11 menjadi klien atau server kompresi SMB.

Meminta kompresi SMB pada berbagi file

Anda dapat mengonfigurasi berbagi untuk selalu meminta pemadatan saat disambungkan oleh klien. Anda bisa menggunakan Pusat Admin Windows atau PowerShell.

Menggunakan Pusat Admin Windows

  1. Instal Pusat Admin Windows dan sambungkan ke server file Windows Server 2022.
  2. Klik item menu File dan berbagi file.
  3. Klik Berbagi file.
  4. Edit berbagi yang sudah ada atau buat berbagi baru.
  5. Pilih Padatkan data lalu klik Tambahkan atau Edit.

Cuplikan layar Pusat Admin Windows di server file Window Server 2022.

Menggunakan PowerShell

  1. Buka prompt perintah PowerShell yang ditinggikan sebagai administrator.

  2. Buat berbagi baru dengan kompresi menggunakan New-SMBShare dengan -CompressData $true parameter dan argumen. Contohnya:

    New-SmbShare -Name "Sales" -Path "C:\sales" -CompressData $true
    
  3. Edit berbagi yang sudah ada dengan pemadatan menggunakan Set-SMBShare dengan -CompressData $true parameter dan argumen. Contohnya:

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

Meminta kompresi SMB pada drive yang dipetakan

Anda dapat meminta agar semua data yang disalin melalui drive yang dipetakan untuk dikompresi. Ini dapat dilakukan sebagai bagian dari skrip masuk atau saat dijalankan secara manual.

  1. Buka perintah PowerShell.

  2. Petakan drive menggunakan New-SMBMapping dengan -CompressNetworkTraffic $true parameter dan argumen. Contohnya:

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

Meminta kompresi SMB dengan alat salin

Anda dapat meminta agar kompresi SMB dicoba untuk file tertentu menggunakan robocopy atau xcopy.

Catatan

Jika Anda ingin File Explorer, alat salin pihak ketiga, atau aplikasi menggunakan kompresi, memetakan drive dengan kompresi, mengaktifkan pemadatan pada berbagi, atau mengatur klien SMB untuk selalu memadatkan.

  1. Buka perintah CMD atau perintah PowerShell.

  2. Salin dengan bendera /COMPRESS. Contohnya:

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

Selalu memerlukan atau selalu menolak permintaan pemadatan

Mulai Windows Server 2022 dengan pembaruan KB5016693 (OS Build 20348.946) dan Windows 11 dengan pembaruan KB5016691 (OS Build 22000.918) Anda dapat mengonfigurasi klien SMB atau server SMB untuk selalu meminta kompresi dan untuk selalu menolak permintaan kompresi. Sekarang Anda dapat menggunakan Kebijakan Grup atau PowerShell; dalam rilis awal Windows 11 dan Windows Server 2022, Anda hanya dapat menggunakan pengaturan registri untuk mengontrol sebagian besar perilaku ini dan Anda tidak dapat mengonfigurasi server SMB untuk selalu meminta pemadatan meskipun pengaturan berbaginya. Klien SMB dan server SMB merujuk ke layanan SMB, bukan ke edisi Windows atau SKU. Semua perubahan SMB ini segera berlaku tanpa boot ulang.

Selalu coba kompresi (klien SMB)

  1. Jalankan Konsol Manajemen Kebijakan Grup untuk domain Direktori Aktif Anda dan buat atau navigasikan ke kebijakan grup.
  2. Perluas kebijakan Konfigurasi Komputer\Kebijakan\Templat Administratif\Jaringan\Stasiun Kerja Lanman.
  3. Aktifkan kebijakan Gunakan Kompresi SMB secara Default.
  4. Tutup editor kebijakan.

Jangan pernah kompres (klien SMB)

  1. Jalankan Konsol Manajemen Kebijakan Grup untuk domain Direktori Aktif Anda dan buat atau navigasikan ke kebijakan grup.
  2. Perluas kebijakan Konfigurasi Komputer\Kebijakan\Templat Administratif\Jaringan\Stasiun Kerja Lanman.
  3. Aktifkan kebijakan Nonaktifkan Pemadatan SMB.
  4. Tutup editor kebijakan.

Selalu coba kompresi (server SMB)

  1. Jalankan Konsol Manajemen Kebijakan Grup untuk domain Direktori Aktif Anda dan buat atau navigasikan ke kebijakan grup.
  2. Perluas kebijakan Konfigurasi Komputer\Kebijakan\Templat Administratif\Jaringan\Server Lanman.
  3. Aktifkan kebijakan Minta pemadatan lalu lintas untuk semua berbagi.
  4. Tutup editor kebijakan.

Jangan pernah memadatkan (server SMB)

  1. Jalankan Konsol Manajemen Kebijakan Grup untuk domain Direktori Aktif Anda dan buat atau navigasikan ke kebijakan grup.
  2. Perluas kebijakan Konfigurasi Komputer\Kebijakan\Templat Administratif\Jaringan\Server Lanman.
  3. Aktifkan kebijakan Nonaktifkan Pemadatan SMB.
  4. Tutup editor kebijakan.

Memahami dan mengontrol perilaku kompresi

Dimulai di Windows Server 2022 dengan pembaruan KB5016693 (OS Build 20348.946) dan Windows 11 dengan pembaruan KB5016691 (OS Build 22000.918), SMB secara default selalu mencoba memadatkan file ketika klien atau server memintanya, tanpa menggunakan pengambilan sampel kompresi.

Catatan

Dalam rilis asli Windows Server 2022 dan Windows 11, Kompresi SMB default untuk menggunakan algoritma di mana ia mencoba mengompres 524.288.000 byte pertama (500 MiB) file selama transfer dan melacak bahwa setidaknya 104.857.600 byte (100 MiB) dikompresi dalam rentang 500 MiB tersebut. Jika kurang dari 100 MiB dapat dikompresi, kompresi SMB berhenti mencoba memadatkan sisa file. Jika setidaknya 100 MiB dikompresi, kompresi SMB mencoba mengompres file lainnya. Dengan perubahan perilaku ini, pengambilan sampel sekarang dinonaktifkan secara default dan SMB selalu mencoba memadatkan seluruh file ketika klien atau server memintanya.

Menguji kompresi SMB

Cara sederhana untuk menguji konfigurasi kompresi Anda adalah menggunakan file VHDX. Anda dapat membuat dan memasang VHDX, menambahkan beberapa file ke dalamnya, lalu melepas VHDX dan menyalinnya sebagai file. Atau, Anda hanya dapat menyalin file VHDX komputer virtual yang dilepas yang ada, karena banyak konten filenya akan dikompresi. Untuk contoh pembuatan file pengujian VHDX:

  1. Mulai Diskmgmt.msc.

  2. Pilih Disk Lokal (C:) dengan mengkliknya.

  3. Klik Tindakan lalu Buat VHD.

  4. Di Diskmgmt, klik kanan VHDX Anda sekarang ditampilkan sebagai "Tidak diinisialisasi" dan klik Inisialisasi disk dan klik OK. Klik kanan pada bagian disk Tidak Dialokasikan dan klik Volume Sederhana Baru, lalu Berikutnya untuk semua perintah menu, lalu klik Selesai.

  5. Tentukan jalur file, atur ukuran ke "25 GB", pilih VHDX dan Ukuran tetap, lalu klik OK.

    Cuplikan layar buat dan lampirkan hard disk virtual untuk Windows Hyper-V.

  6. Klik kanan pada disk dan klik Lepaskan VHD, lalu klik OK.

  7. Di File Explorer, klik dua kali file VHDX tersebut untuk memasangnya. Salin beberapa MB file yang tidak dapat dikompresi, seperti format JPG, lalu klik kanan disk yang dipasang dan klik Keluarkan.

Anda sekarang memiliki file pengujian besar dengan konten terkompresi.

Menguji kompresi SMB antara sepasang VM yang berjalan pada host Hyper-V yang sama mungkin tidak menunjukkan penghematan waktu karena sakelar virtual adalah 10 Gbps dan tidak mengalami kemacetan, ditambah hypervisor modern sering menggunakan penyimpanan flash. Uji kompresi Anda melalui jaringan nyata yang anda rencanakan untuk digunakan. Anda juga dapat mengurangi bandwidth jaringan pada VM Hyper-V untuk tujuan pengujian menggunakan Set-VMNetworkAdapter dengan -MaximumBandwidth diatur ke 1Gb, misalnya.

Untuk melihat seberapa baik kompresi bekerja, Anda dapat melakukan robocopy file yang sama ke server dua kali, sekali dengan /compress bendera dan sekali lagi tanpa kompresi, menghapus file server antara setiap pengujian. Jika file dikompresi, Anda akan melihat lebih sedikit pemanfaatan jaringan di Task Manager dan waktu salin yang lebih rendah. Anda juga dapat mengamati objek Monitor Performa server SMB "Berbagi Server SMB" untuk penghitung "Permintaan Terkompresi/detik" dan "Respons Terkompresi/detik".

RDMA dan SMB Direct

Kompresi SMB tidak mendukung SMB Direct dan RDMA. Ini berarti bahwa bahkan jika klien meminta kompresi dan server mendukungnya, kompresi tidak akan dicoba dengan SMB Direct dan RDMA. Dukungan untuk kompresi SMB dengan SMB Direct dan RDMA akan datang setelah pratinjau publik Windows Server 2022 dan Windows 11.