উইন্ডোজ সার্ভার ২০২২ এবং উইন্ডোজ ১১-এ একে এন্ট্রোডুস করা SMB প্রোটোকল সংস্করণে, আপনি নেটওয়ার্কে ফাইল কপি, মুভ, বা খোলার সময় ইনলাইন SMB কম্প্রেশন ফিচার ব্যবহার করতে পারেন। এটি বড় ফাইল নেটওয়ার্কে ট্রান্সফার করার সময় (যেমন VM ডিস্ক ফাইল, ISO ইমেজ, ইত্যাদি) ফাইল ট্রান্সফার দ্রুত করতে, ব্যান্ডউইথ এবং নেটওয়ার্ক অপারেশন লেটেন্সি কমাতে সাহায্য করে। এই নিবন্ধে, আমরা দেখব কীভাবে উইন্ডোজে শেয়ার্ড ফোল্ডারের জন্য SMB কম্প্রেশন সক্ষম এবং কনফিগার করতে হয়।
SMB কম্প্রেশন ব্যবহারের জন্য (এটিকে NTFS কম্প্রেশন સાથે গুলিয়ে না নিন), আপনাকে আর থার্ড-পার্টি টুল ব্যবহার করে ফাইল প্রি-কম্প্রেস করতে হবে না ধীর (বা মিটারড) নেটওয়ার্কে ট্রান্সফার করার আগে। ডিফল্ট কম্প্রেশন অ্যালগরিদম হল XPRESS (LZ77)। আপনি উইন্ডোজে XPRESS Huffman (LZ77+Huffman), LZNT1, বা PATTERN_V1* কম্প্রেশন অ্যালগরিদমও সক্ষম করতে পারেন।
আপনি SMB কম্প্রেশন ক্লায়েন্ট-সাইড এবং SMB সার্ভার-সাইড দুতোেই সক্ষম করতে পারেন।
উইন্ডোজ সার্ভার ২০২২-এ, আপনি দুটি উপায়ে SMB কম্প্রেশন সক্ষম করতে পারেন:
- Windows Admin Center (WAC) ব্যবহার করে: Files and File Sharing → File Shares → একটি নেটওয়ার্ক শেয়ার্ড ফোল্ডার সিলেক্ট করুন এবং এর সেটিংসে Compress data অপশন চেক করুন;

- পাওয়ারশেল ব্যবহার করে: নতুন শেয়ার্ড ফোল্ডার তৈরি করার সময় (
New-SmbShare -Name "Public" -Path "E:\Public" -CompressData $true) বা বিদ্যমান শেয়ারের জন্য (Set-SmbShare -Name "Public" -CompressData $true)। SMB কম্প্রেশন সক্ষম করা সব ডিরেক্টরির তালিকা পান:Get-SmbShare -CompressData $true
SMB কম্প্রেশন ক্লায়েন্ট-সাইডেও সক্ষম করা যেতে পারে। তখন সার্ভার-সাইড SMB কম্প্রেশন সমর্থন করে কিনা তা ম্যাটার করে না।
নিচের কমান্ডগুলো উইন্ডোজ ১১-এ SMB কম্প্রেশন সক্ষম করে একটি শেয়ার্ড নেটওয়ার্ক ড্রাইভ ম্যাপ করতে ব্যবহৃত হয়:
net use * \\munfs01\images /requestcompression:yes
অথবা:
New-SmbMapping -LocalPath "U:" -RemotePath "\\munfs01\images" -CompressNetworkTraffic $true
চলুন VMDK (VMware ভার্চুয়াল মেশিন ডিস্ক) ফাইল ট্রান্সফারের গতি এবং সময় SMB কম্প্রেশন সক্ষম করে মাপি নেই। আপনি SMB কম্প্রেশন অপশন সক্ষম এবং নিষ্ক্রিয় করে দুটি শেয়ার্ড ফোল্ডার তৈরি করতে পারেন, অথবা robocopy-এর /compress অপশন ব্যবহার করে ফাইল কপি করার সময় SMB কম্প্রেশন ফোর্স করতে পারেন। কমান্ডের উদাহরণ:
robocopy z:\ c:\VM\without_smb_compression.vmdk srv02.vmdk
robocopy z:\ c:\VM\with_smb_compression.vmdk srv02.vmdk /compress
আমার উদাহরণে, SMB কম্প্রেশন ব্যবহার করে ৩GB VMDK ফাইল কপি করতে ২০% কম সময় লাগলো চুঁকি এটি ব্যবহার না করলে (২৯ সেকেন্ড বনাম ৩৭ সেকেন্ড)।

উইন্ডোজ ১১ এবং উইন্ডোজ সার্ভার ২০২২-এর RTM সংস্করণে, SMB কম্প্রেশন ফাইল সাইজ নির্বিশেষে সব ফাইলের জন্য ব্যবহৃত হয়।
ফাইল ট্রান্সফারের জন্য সবসময় SMB কম্প্রেশন ব্যবহার করতে, আপনি রেজিস্ট্রি কী HKLM\System\CurrentControlSet\Services\LanManWorkstation\Parameters-র অধীনে প্যারামিটার EnableCompressedTraffic = 1 সেট করতে পারেন। আপনি এই রেজিস্ট্রি প্যারামিটার পাওয়ারশেল ব্যবহার করে সেট করতে পারেন:
Set-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\LanManWorkstation\Parameters\ -Name EnableCompressedTraffic -Value 1

আপনি যদি SMB কম্প্রেশন শুধু বড় ফাইলের জন্য (১০০ MB এর বেশি) প্রয়োগ করতে চান, তবে একই রেজিস্ট্রি কী-তে নিচের অ্যাট্রিবিউট সেট করুন:
- CompressibilitySamplingSize = 524288000
- CompressibleThreshold = 104857600
আপনি যদি CompressibleThreshold = 0 এবং CompressibilitySamplingSize = 4294967295 সেট করেন, তবে নেটওয়ার্কে SMB ফোল্ডারে যেকোনো ফাইল অ্যাক্সেস করার সময় SMB কম্প্রেশন ব্যবহার করা হবে।
আপনি যদি উইন্ডোজে SMB কম্প্রেশন ব্যবহার সম্পূর্ণরূপে নিষ্ক্রিয় করতে চান, তবে DisableCompression = 1 সেট করুন:
Set-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\LanManWorkstation\Parameters\ -Name DisableCompressedTraffic -Value 1
অথবা নিচের কমান্ড ব্যবহার করুন:
Set-SmbClientConfiguration -DisableCompression $true
SMB কম্প্রেশন ফিচার SMB এনক্রিপশন এবং সাইনিং, SMB over QUIC, SMB মাল্টিচ্যানেল, এবং Hyper-V Live Migration-এর সাথে কম্প্যাটিবল। SMB Direct এবং RDMA এখনো সমর্থিত নয়। আপনি Robocopy এবং Xcopy টুলে নতুন /compress অপশন ব্যবহার করে নেটওয়ার্কে ফাইল কপি করার সময় SMB কম্প্রেশন ফোর্স করতে পারেন।