গিগাবিট LAN-এ দুটি Windows মেশিনের মধ্যে ফাইল কপি, দুটিই একই VPN-এ সংযুক্ত হওয়ার মুহূর্তেই হামাগুড়িতে নেমে আসে, অথচ একই জোড়ার মধ্যে থ্রুপুট পরীক্ষা এখনও প্রায় লাইন রেটই জানায়। সমস্যা লিঙ্কে নয়, ডিস্কেও নয়। SMB3 Multichannel নিঃশব্দে টানেলের ওপর দিয়ে চলা একটি দ্বিতীয় TCP সংযোগ যোগ করেছে, আর কপিটি যে চ্যানেলটি সবচেয়ে ধীর তার জন্য অপেক্ষা করে। SMB থেকে ওই পথ সরিয়ে দিলে LAN-এর গতি ফিরে আসে।

একটি শেয়ার একাধিক TCP সংযোগের ওপর চলতে পারে

Multichannel একটি ক্লায়েন্টকে এক সার্ভারে স্বাধীন সংযোগ খুলতে দেয়, উপযুক্ত প্রতিটি ঠিকানা-জোড়ার জন্য একটি। সাধারণ LAN-এ কেবল একটি জোড়া থাকতে পারে, তাই অবাক করার কিছু ঘটে না। দুই মেশিনেই একটি VPN অ্যাডাপ্টার যোগ করুন, Windows দ্বিতীয় জোড়া দেখে, টানেল ঠিকানা বনাম টানেল ঠিকানা, এবং তার ওপর দিয়ে একটি চ্যানেল খোলে।

সেই চ্যানেলটি এনক্রিপ্টেড, টানেলের সঙ্গে CPU ভাগ করে এবং বাকি সবকিছুর মতো একই WAN লিঙ্ক পার হয়। যে কপি কেবল LAN ব্যবহার করত, তার সেটে এখন একটি ধীর সদস্য আছে, আর SMB তা নিঃশব্দে বাদ দেয় না।

LAN ঠিকানায় বাঁধা থ্রুপুট পরীক্ষা এখনও সুস্থ দেখায়, আর ঠিক এজন্যই দুটি পরিমাপ এত তীব্রভাবে মেলে না।

কিছু বদলানোর আগে প্রমাণ করুন টানেল চ্যানেলটি আছে

কপি চলাকালীন ক্লায়েন্টে কোয়েরিগুলো চালান, কারণ চ্যানেল তালিকা কেবল তখনই অর্থবহ যখন তা জীবন্ত।

Get-SmbMultichannelConnection | Where-Object Selected -eq $true | Format-Table ServerName, ClientIPAddress, ServerIPAddress
Get-SmbConnection | Format-Table ServerName, Dialect, NumOpens

একই সার্ভারের জন্য একাধিক নির্বাচিত সারি আপনার প্রয়োজনীয় নিশ্চয়তা। সন্দেহজনক সারির ক্লায়েন্ট ঠিকানাটিকে একটি ইন্টারফেসে সমাধান করুন। সেই উপনামটি VPN অ্যাডাপ্টার হলে চ্যানেলটি বাস্তব, বাসি এন্ট্রি নয়।

Get-NetIPAddress -IPAddress 10.8.0.6 | Format-List IPAddress, InterfaceAlias

প্রতিটি মেশিনে ঠিকানা আলাদা, তাই উপরের উদাহরণগুলো টাইপ না করে আপনার নিজের আউটপুট যে ঠিকানাগুলো জানায় সেগুলোই পড়ুন।

SMB থেকে টানেল বের করুন এবং দুই প্রান্তই পুনরায় চালু করুন

Multichannel বন্ধ করা ক্লায়েন্ট ও সার্ভার উভয়েই একটি পরিবর্তন, আর এক পাশে করলে অন্য পাশ ইন্টারফেসটি অফার করতে মুক্ত থাকে। বিদ্যমান চ্যানেলগুলো সেটিংস টিকে থাকে, তাই পরের কপিটি ভিন্ন আচরণ করবে বলে আশা না করে একটি রিস্টার্ট পরিকল্পনা করুন।

Set-SmbClientConfiguration -EnableMultiChannel $false -Force
Set-SmbServerConfiguration -EnableMultiChannel $false -Force
Get-SmbClientConfiguration | Select-Object EnableMultiChannel

রিবুটের পর সার্ভার SMB-এর জন্য যে ইন্টারফেসগুলো অফার করে সেগুলো তালিকাভুক্ত করুন। টানেল অ্যাডাপ্টারটি সেই তালিকা থেকে চলে যাওয়া উচিত। যদি এখনও থাকে, তাহলে সেটিংস ভুল প্রান্তে পৌঁছেছে বা একটি পুরোনো সেশন এখনও খোলা।

Get-SmbServerNetworkInterface | Format-List Name, InterfaceAlias, LinkSpeed

লক্ষ্যটি যদি সব জায়গায় Multichannel নিষ্ক্রিয় করার চেয়ে সংকীর্ণ হয়, টানেল অ্যাডাপ্টার থেকে সার্ভার উপাদান আনবাইন্ড করলে তার ওপর দিয়ে শেয়ারিং বন্ধ হয়, অথচ VPN-এর বাকি অংশ অক্ষত থাকে।

Get-NetAdapterBinding -Name "<vpn adapter>" -ComponentID ms_server
Disable-NetAdapterBinding -Name "<vpn adapter>" -ComponentID ms_server

LAN-কে প্রাধান্য দিন এবং একইভাবে দুবার পরিমাপ করুন

ইন্টারফেস মেট্রিক একটি চ্যানেল সরায় না, কিন্তু নতুন সংযোগগুলোকে ভৌত লিঙ্কের দিকে চালায় এবং অসম্পর্কিত ট্রাফিক টানেলের বাইরে রাখে। উপনামটি টাইপ না করে আউটপুট থেকে কপি করুন, কারণ কিছু ইনস্টলেশনে এটি স্থানীয়কৃত।

Get-NetIPInterface | Sort-Object InterfaceMetric | Select-Object InterfaceAlias, InterfaceMetric
Set-NetIPInterface -InterfaceAlias "<vpn adapter>" -AutomaticMetric Disabled -InterfaceMetric 9000

তারপর দুটি পরিমাপই পুনরাবৃত্তি করুন: ফাইল কপি এবং একক-স্ট্রিম থ্রুপুট পরীক্ষা। কপি যদি সেরে ওঠে অথচ থ্রুপুট পরীক্ষা অপরিবর্তিত থাকে, তাহলে টানেল কখনোই বাধা ছিল না। দুটিই যদি ধসে পড়ে, VPN পথই সীমা এবং Multichannel কেবল তা দৃশ্যমান করেছে। VPN সংযুক্ত হওয়ার আগে নেওয়া একটি কপির সঙ্গে তুলনা করুন, কারণ ওই বেসলাইনই একমাত্র পরিবর্তনটিকে আলাদা করে।

Multichannel নিষ্ক্রিয় করলে সেসব সার্ভারে থ্রুপুট খরচ হয় যেগুলো সত্যিই একাধিক দ্রুত পথ দেয়, তাই VPN দৃশ্যপট থেকে সরে গেলে এটি আবার চালু করুন। কোন অ্যাডাপ্টার বদলেছেন তা লিখে রাখুন, কারণ পরের ব্যক্তি সেটিংসটি পাবেন, কারণটি নয়।

সম্পর্কিত নিবন্ধ