VPN সংযুক্ত হলে ফাইল কপি ধীর হয়ে যায়: SMB মাল্টিচ্যানেল
একটি কপি তার সবচেয়ে ধীর চ্যানেলের জন্য অপেক্ষা করে, তাই সুস্থ ব্যান্ডউইথ পরীক্ষা কারণটিকে লুকিয়ে রাখে। টানেল চ্যানেল নিশ্চিত করুন, এটি SMB থেকে বের করুন, তারপর দুই পথই মাপুন।
দুটি Windows মেশিনের মধ্যে ফাইল কপি দ্রুতই থাকে, যতক্ষণ না দুটিই একই VPN-এ যোগ দেয়, তারপর তা ভেঙে পড়ে, অথচ একই জোড়ার ওপর ব্যান্ডউইথ পরীক্ষা এখনও লাইন রেটের কাছাকাছি ফল দেয়। ওই ফাঁকটাই নির্ণয়: লিংক ঠিক আছে এবং কিছু একটা স্থানান্তরের জন্য খারাপতর পথ বেছে নিচ্ছে। সেই কিছুটি সাধারণত SMB3 মাল্টিচ্যানেল, যা ঠিক তার জন্য তৈরি যা করার জন্যই বানানো হয়েছে সেটাই করছে। অতিরিক্ত চ্যানেলটি বাদ দিন, কপি আবার ভৌত লিংকে ফিরে আসবে।
লক্ষণটি তার সবচেয়ে ধীর চ্যানেলের জন্য অপেক্ষা করে
মাল্টিচ্যানেল একটি SMB সেশনকে কয়েকটি TCP সংযোগ ব্যবহার করতে দেয়, ক্লায়েন্ট ও সার্ভারের মধ্যে প্রতিটি উপযুক্ত ঠিকানা জোড়ার জন্য একটি করে। যখন দুটি মেশিনই ল্যানে এবং একই টানেলে থাকে, তখন Windows ল্যান ঠিকানাগুলোকে টানেল ঠিকানার সঙ্গে জোড়া বাঁধতে পারে এবং দুই জোড়াকেই ব্যবহারযোগ্য ধরতে পারে। ফলে সেশনে ভৌত লিংকের প্রয়োজনের চেয়ে বেশি চ্যানেল থেকে যায়, আর তার একটি অনেক বেশি ধীর।
এটি ব্যর্থ হয় না। এটি অপেক্ষা করে, কারণ সেশন তার সবচেয়ে ধীর চ্যানেলের চেয়ে দ্রুত শেষ হতে পারে না।
তাই ব্যান্ডউইথ পরীক্ষা সুস্থ দেখাতে পারে অথচ কপি হামাগুড়ি দেয়: একক-প্রবাহ পরিমাপ একটি পথ বেছে নিতে পারে, অথচ স্থানান্তরটি দুই পথে ছড়ানো ছিল। কোনো অ্যাডাপ্টার সেটিং বদলানোর আগে চ্যানেলের তালিকা পড়ুন, আর কপি চলাকালীনই তা পড়ুন, কারণ নিষ্ক্রিয় সেশন কিছুই দেখায় না। আপনি যা লিখবেন তাতে প্রতিটি চ্যানেলের পেছনের ইন্টারফেসের নাম থাকা উচিত, শুধু ফলাফল কত ধীর লাগল তা নয়।
নিশ্চিত করুন যে দ্বিতীয় চ্যানেল আছে
দুটি cmdlet সরাসরি এই প্রশ্নের উত্তর দেয়। সংযোগের তালিকা ব্যবহৃত চ্যানেলগুলো দেখায়, আর সেশন সারাংশ সংযোগটিকেই দেখায়। ধীর কপির সময় দুটিই চালান।
Get-SmbMultichannelConnection
Get-SmbConnectionএকই সার্ভারের জন্য নির্বাচিত হিসেবে চিহ্নিত একাধিক সারি খুঁজুন, তারপর সন্দেহজনক সারির ক্লায়েন্ট ঠিকানাটি সমাধান করুন। যদি সেই ঠিকানা টানেল অ্যাডাপ্টারের হয়, তবে দ্বিতীয় পথটি সত্যিই আছে এবং নিশ্চিত হয়েছে। যদি প্রতিটি সারি ভৌত ইন্টারফেসের হয়, তবে মাল্টিচ্যানেল আপনার সমস্যা নয় এবং কপি অন্য কোনো কারণে ধীর। এই নিশ্চিতকরণটি আগে করুন, কারণ মেরামতটি যথেষ্ট ব্যাঘাতমূলক এবং এক মিনিটের প্রমাণের দাবিদার।
Get-NetIPAddress -IPAddress 10.20.30.44এখানকার ঠিকানাগুলো প্লেসহোল্ডার। আপনার নিজের আউটপুট যা জানায় তা বসিয়ে দিন, কারণ ব্লগ থেকে ঠিকানা কপি করাই এমন এক কাজ যা একটি চালু কমান্ডকে বিভ্রান্তিকর ত্রুটি বার্তায় পরিণত করে।
SMB থেকে টানেল সরান, তারপর আবার মাপুন
মাল্টিচ্যানেল বন্ধ করা নির্ণয় নিশ্চিত করার দ্রুততম উপায়, এবং এটি ফিরিয়ে আনা যায়। ক্লায়েন্ট সেটিংটি কপি করা মেশিনে এবং সার্ভার সেটিংটি শেয়ার হোস্ট করা মেশিনে প্রয়োগ করুন, কারণ যেকোনো এক পক্ষ একাই অতিরিক্ত চ্যানেল বাঁচিয়ে রাখতে পারে। পরিবর্তনটি নতুন সংযোগে প্রযোজ্য, বিদ্যমানগুলোতে নয়, তাই খোলা সেশন এটি টিকে যায়। কিছু মাপার আগে দুটি মেশিনই রিবুট করুন, বা অন্তত শেয়ারের সব হ্যান্ডেল বন্ধ করুন।
Set-SmbClientConfiguration -EnableMultiChannel $false -Force
Set-SmbServerConfiguration -EnableMultiChannel $false -Forceনতুন অবস্থা নিশ্চিত করুন, তারপর দেখুন সার্ভার এখন ক্লায়েন্টদের কী ঘোষণা করছে।
Get-SmbClientConfiguration | Select-Object EnableMultiChannel
Get-SmbServerNetworkInterface | Format-List *টানেল ইন্টারফেসটির ওই ঘোষিত তালিকা থেকে বাদ পড়া উচিত। যদি না পড়ে, তবে সেটিংটি ভুল প্রান্তে গেছে বা পুরোনো সেশন এখনও খোলা। যদি ফাইল শেয়ারিং একেবারেই টানেল ব্যবহার না করে, তবে বরং ওই অ্যাডাপ্টার থেকে সার্ভার উপাদানটি আনবাইন্ড করুন, এতে টানেলটি বাকি সব সেবার জন্য ব্যবহারযোগ্য থাকে।
Get-NetAdapterBinding -Name "OpenVPN Data Channel Offload"
Disable-NetAdapterBinding -Name "OpenVPN Data Channel Offload" -ComponentID ms_serverচ্যানেল মুছে ফেলার ভান না করে ল্যান পথকে অগ্রাধিকার দিন
ইন্টারফেস মেট্রিক Windows-কে বলে নতুন সংযোগের জন্য কোন পথ পছন্দ করতে হবে। এটি এমন কোনো চ্যানেল সরায় না যা মাল্টিচ্যানেল ইতিমধ্যে খোলার সিদ্ধান্ত নিয়েছে। টানেলের মেট্রিক বাড়ানো তবুও মূল্যবান, কারণ এটি অসম্পর্কিত ট্রাফিককে ধীর পথ থেকে দূরে রাখে এবং পছন্দের রুটকে অনুমানযোগ্য করে, কিন্তু এটি ফিল্টার নয়, একটু ঠেলা।
Get-NetIPInterface | Sort-Object InterfaceMetric | Select-Object InterfaceAlias, InterfaceMetric
Set-NetIPInterface -InterfaceAlias "OpenVPN Data Channel Offload" -AutomaticMetric Disabled -InterfaceMetric 1000অ্যালিয়াসটি টাইপ না করে ওই আউটপুট থেকে কপি করুন, কারণ কিছু ইনস্টলেশন অ্যাডাপ্টারের নাম স্থানীয়করণ করে এবং ইংরেজি স্ট্রিংটি মিলবে না।
তারপর আবার দুটি সংখ্যাই মাপুন: ফাইল কপি এবং একই জোড়ার ওপর ব্যান্ডউইথ পরীক্ষা। যদি কপি সেরে ওঠে অথচ ব্যান্ডউইথ পরীক্ষা কখনো ধীর ছিল না, তবে মাল্টিচ্যানেলই কারণ ছিল এবং আপনি থামতে পারেন। যদি দুটিই ভেঙে পড়ে, তবে টানেলই বাধা এবং মাল্টিচ্যানেল কেবল তা বাড়িয়ে দিয়েছে। যদি দুই পথই ঠিক দেখাতে থাকে অথচ কপি ধীর থাকে, তবে বাকি সমস্যাটি শেয়ার, স্টোরেজ বা ফিল্টার ড্রাইভারে থাকে, যা ভিন্ন একটি তদন্ত।