You are currently viewing লেটেন্সি কি এর প্রকারভেদ ও লেটেন্সি অপ্টিমাইজ করার কৌশল
লেটেন্সি কি

লেটেন্সি হচ্ছে এক ডিভাইস থেকে আরেক ডিভাইসে ডাটা ট্র্যান্সফার হওয়ার সময় যে সময় প্রয়োজন তার সমষ্টি। অর্থাৎ এক ডিভাইস থেকে আরেক ডিভাইসে ডাটা ট্র্যান্সফার হতে যে সময় লাগে তাকে লেটেন্সি বলে। আমরা গেম খেলার সময় সার্ভার পিং নামক একটি টেকনিক্যাল টার্মের সাথে পরিচিত। অন্যদিকে ব্রডব্যান্ড ইন্টারনেট স্পিড স্লো কিনা তা চেক করার জন্য আমরা এই পিং কমান্ড ব্যবহার করে থাকি। এটি আসলে লেটেন্সি পরিমাপ করার একটি পদ্ধতি।

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

লেটেন্সি এর প্রকারভেদ

লেটেন্সি একটি সিস্টেম পরিচালনার কয়েকটি লেয়ারে ইফেক্ট ফেলতে পারে। নিচে সে সম্পর্কে বিস্তারিত আলোচনা করা হলো। 

নেটওয়ার্ক লেটেন্সি

নেটওয়ার্ক লেটেন্সি 

নেটওয়ার্ক লেটেন্সি হচ্ছে নেটওয়ার্ক ডিভাইস থেকে নেটওয়ার্ক রিসিভিং ডিভাইস যেমন মোবাইল, ল্যাপটপ ইত্যাদিতে কানেকশন সংগঠিত হওয়ার সময়। অর্থাৎ কোন ডাটা এক নেটওয়ার্ক থেকে আরেক নেটওয়ার্কে যেতে যত সময় লাগে তা নেটওয়ার্ক লেটেন্সির মধ্যে পড়ে। 

নেটওয়ার্ক লেটেন্সি নির্ভর করে নেটওয়ার্ক রাউটিং, প্রোসেসিং, প্রপাগেশন (ডাটা তারের মধ্য দিয়ে আলোর গতিতে প্রবাহিত হওয়ার প্রসেস) ও ক্লায়েন্টের সাথে সার্ভারের যোগাযোগের উপরে। এই প্রসেস গুলো ডাটা কত তাড়াতাড়ি এক স্থান থেকে আরেক স্থানে প্রবাহিত হচ্ছে তা নির্ধারণ করে থাকে। এখানে যত কম সময়ে ডাটা পাস হবে নেটওয়ার্ক লেটেন্সি তত কম হবে। 

স্টোরেজ লেটেন্সি 

স্টোরেজ লেটেন্সি হচ্ছে স্টোরেজ ডিভাইসের ডাটা রিড এবং রাইট করার জন্য প্রয়োজনীয় সময়। সহজ করে বলতে গেলে আমরা যখন কম্পিউটারে হার্ডডিস্ক থেকে কোন ফাইল ওপেন করি তখন তা ওপেন হতে যত সময় লাগে তাকে স্টোরেজ লেটেন্সি বলে। গতানুগতিক স্টোরেজ ডিভাইস HDD থেকে SSD ডিভাইসের লেটেন্সি অনেক কম। কারণ HDD তে ডাটা স্টোর করার জন্য ঘূর্ণ্যমান ডিস্ক ইউজ করা হয়। যা স্পিন করার জন্য অনেকগুলো ম্যাকানিজম অনুসরণ করে। এতে ফাইল রিড রাইট হতে বেশি সময় প্রয়োজন পরে।

অন্যদিকে SSD ডিভাইসগুলো ডাটা স্টোর করার জন্য NAND ফ্ল্যাশ মেমরিচিপ ইউজ করে। এতে অতিরিক্ত কোন ম্যাকানিজম না থাকায় ডাটা অনেক দ্রুত রিড রাইট হয়। এই কারণে HDD থেকে SSD স্টোরেজ গুলো বেশি ফাস্ট হয়ে থাকে। অনলাইন সার্ভারগুলোতে SSD ইমপ্লিমেন্ট করার পর থেকে স্টোরেজ লেটেন্সি অনেক কমে গেছে। কারণ এখন ক্লাইন্ট ব্রাউজার যখন সার্ভারের কাছে কোন ওয়েবসাইটের ফাইল প্রদর্শন রিকোয়েস্ট করে তখন তা অনেক দ্রুত প্রসেস হয়। ওয়েবসাইট দ্রুত লোড করানোর জন্য এটি অনেক বড় ফ্যাক্টর হিসেবে কাজ করে। 

আমাদের আইটিনাটহোস্টিং এ যে সার্ভার গুলো রয়েছে সেগুলোতে HDD সরিয়ে NVMe ইন্সটল করার পরে হোস্ট করা ওয়েবসাইট গুলোর পেজ স্পীড অনেক বৃদ্ধি পেয়েছে। অন্যান্য সার্ভারের সাথে BDIX সার্ভার গুলোর স্পিড আগের থেকে অনেক বৃদ্ধি পেয়েছে। এটি মূলত স্টোরেজ ডিভাইস আপডেট করার কারনে লেটেন্সি কমিয়ে আনা সম্ভব হয়েছে। 

অ্যাপ্লিকেশন লেটেন্সি 

অ্যাপ্লিকেশন লেটেন্সি হচ্ছে সার্ভার থেকে ডাটা আদান প্রদান হওয়ার যে সময় তা। অর্থাৎ আমরা যখন কোন অনলাইন অ্যাপ ওপেন করি তখন তা স্মুথভাবে চলতে হলে সার্ভার থেকে বিরতিহীন ডাটা ট্রান্সফারের প্রয়োজন পরে। কোন কারণে এর প্রবাহ ব্যাহত হলে অ্যাপ ল্যাগ করে। এই কারণে অ্যাপ্লিকেশন লেটেন্সি কম হওয়া অনেক গুরুত্বপূর্ণ। 

তবে অ্যাপ্লিকেশন লেটেন্সি নির্ভর করে স্টোরেজ এবং নেটওয়ার্ক লেটেন্সির উপরে। কারণ এখানে অ্যাপ থেকে সার্ভারের মাঝে যোগাযোগ ও ডাটা ট্রান্সফারের কাজ করে নেটওয়ার্ক অন্যদিকে সেই ডাটা প্রসেস করে ক্লায়েন্ট সাইদে পাঠাতে কাজ করে স্টোরেজ ডিভাইস। এই কারণে এই সংযোগের মধ্যে যদি কোন জায়গায় গ্যাপ থাকে তাহলে অ্যাপ্লিকেশন লেটেন্সি বৃদ্ধি পাবে।  

বিভিন্ন প্রোটোকল লেটেন্সি 

প্রোটোকল লেটেন্সি বলতে নেটওয়ার্কের কমিউনিকেশন করার সময় যে অতিরিক্ত সময় প্রয়োজন হয় তাকে বোঝায়। আমরা জানি ইন্টারনেট চলে ইন্টারনেট প্রোটোকল (IP) এর মাধ্যমে। বর্তমানে সব থেকে জনপ্রিয় এবং সব থেকে বেশি উসে হওয়া ইন্টারনেট প্রোটোকল হচ্ছে Transmission Control Protocol (TCP) এবং User Datagram Protocol (UDP)। এদের মধ্যে TCP সব থেকে বেশি ইউজ হয়ে থাকে। 

কারণ TCP ডাটা ট্র্যান্সফার করার সময় অ্যাকুরেট ভাবে করতে পারে। আর এটি একটি সোর্স থেকে ডাটা পাস করে জন্য স্পিড বেশি পাওয়া যায়। অন্যদিকে UDP একই সময়ে অনেক গুলো সোর্স থেকে ডাটা আদান-প্রদান করে থাকে যা সময় বৃদ্ধি করে দেয়। সর্বোপরি প্রোটোকল লেটেন্সি ইন্টারনেট স্পিড থেকে শুরু করে অনলাইনের যত ধরনের ডাটা ট্রান্সমিট পদ্ধতি রয়েছে সবগুলোকে প্রভাবিত করে। 

লেটেন্সি পরিমাপ করার কৌশল

লেটেন্সি পরিমাপ করার কৌশল না জানা থাকলে আসলে এটি কীভাবে কাজ করে সে সম্পর্কে পরিষ্কারভাবে বোঝা যায় না। এখানে আপনি কি কি পদ্ধতি ইউজ করে লেটেন্সি পরীক্ষা করতে পারবেন সে সম্পর্কে আলোচনা করা হয়েছে। 

Ping

পিং হচ্ছে একটি নেটওয়ার্ক টেস্টিং টুল। মূলত এই টুল দিয়ে দুইটি ডিভাইসের মধ্যকার সংযোগ পরীক্ষা করা যায়। এটি ইন্টারনেট কন্ট্রোল মেসেজ প্রোটোকল (ICMP) পদ্ধতি ইউজ করে। যখন কোন আইপি বা ডোমেইন থেকে পিং রিকোয়েস্ট করা হয় এই টুল তখন একটি ছোট নেটওয়ার্ক প্যাকেট অন্য ডিভাইস বা সার্ভারে পাঠায় এবং উক্ত রিকোয়েস্ট ফেরত আসার জন্য অপেক্ষা করে। যখন উক্ত রিকোয়েস্ট ফেরত আসে তখন প্যাকেট সেন্ড ও রিসিভ করার সময় মিলি সেকেন্ডে মেপে প্রদর্শন করে। এতে সহজেই লেটেন্সি পরিমাপ করা যায়। 

Traceroute

এটি পিং এর মতই একটি নেটওয়ার্ক টেস্টিং টুল। তবে এখানে পিং থেকে আরও বেশি ডিটেইলস পাওয়া যায়। এটি নেটওয়ার্ক ডাটা প্যাকেট এক ডিভাইস থেকে অন্য ডিভাইসে পৌঁছাতে কত গুলো রাউটার অতিক্রম করেছে তা পরিমাপ করে থাকে। অর্থাৎ ধরুন আপনার একটি ওয়েবসাইট আছে এবং আপনি তার ডোমেইন দিয়ে traceroute টুলে কমান্ড দিলেন। 

এখন এই টুল প্রথমে একটি ছোট ডাটা সার্ভারে সেন্ড করবে। এবং উক্ত ডাটা যাওয়া আসার সময় কোন কোন নেটওয়ার্ক রাউটার অতিক্রম করছে তা রেকর্ড করে রাখবে। তারপর প্রতিটি রাউটার অতিক্রম করতে তার কি পরিমাণ সময় লাগছে এবং রাউন্ড ট্রিপ টাইম বা RTT পরিমাপ করে। এতে আপনি প্রতিটি রাউটার হপের আইপি, RTT ও লেটেন্সি ডাটা দেখতে পাবেন। 

Network Performance Monitoring

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

লেটেন্সি অপ্টিমাইজ করার কৌশল

লেটেন্সি অপ্টিমাইজ করার কৌশল

লেটেন্সি বেশি থাকলে ইন্টারনেট ইউজ করার অভিজ্ঞতা অনেক খারাপ হয়। পাশাপাশি স্ট্রিমিং এর মতো প্রযুক্তি ঠিক মতো কাজ করে না। যা প্রযুক্তি বিশ্বের জন্য খারাপ সংকেত। তবে বিভিন্ন অপটিমাইজেশন পদ্ধতি ইউজ করে এই লেটেন্সি কমিয়ে আনা সম্ভব। নিচে লেটেন্সি অপ্টিমাইজ করার কৌশল সম্পর্কে ধারণা দেওয়া হলো। 

নেটওয়ার্ক অপটিমাইজেশন 

নেটওয়ার্ক লেটেন্সি অপ্টিমাইজ করার সব থেকে কার্যকরী প্রযুক্তি হচ্ছে Content Delivery Network (CDN)। আমরা জানি নেটওয়ার্ক লেটেন্সি বেশি হওয়ার কারণ হচ্ছে ক্লাইন্ট ডিভাইস থেকে সার্ভারের দূরত্ব। কিন্তু কোনোভাবে যদি এই দূরত্ব কমিয়ে আনা যায় তাহলে লেটেন্সি কমিয়ে আনা সম্ভব। এই কারণে সিডিএন সার্ভিস গুলো বিশ্বের বিভিন্ন দেশে তাদের ক্যাশ সার্ভার প্রতিষ্ঠা করে থাকে। ওয়েবসাইট কন্টেন্ট বা অ্যাপ্লিকেশনগুলোর আপডেটেড ভার্শন উক্ত সার্ভার গুলোতে ক্যাশ করা থাকে। 

যখন কোন ভিজিটর ব্রাউজারে উক্ত ওয়েবসাইট ভিজিট করার জন্য রিকোয়েস্ট করে তখন তা উক্ত ইউজারের সব থেকে কাছের সার্ভার থেকে লোড হয়। এতে ডাটা অনেক লম্বা পথ পারি দেওয়ার প্রয়োজন পরে না। অন্যদিকে অনেক বেশি পরিমাণে রাউটার অতিক্রম করতে হয় না জন্য লেটেন্সি কমে যায়। এভাবে সহজেই নেটওয়ার্ক অপ্টিমাইজ করে লেটেন্সি কমানো যায়। 

হার্ডওয়্যার অপটিমাইজেশন

হার্ডওয়্যার অপটিমাইজেশন হচ্ছে পুরাতন ও আউটডেটেড নেটওয়ার্ক ও স্টোরেজ ডিভাইস আপগ্রেড করা। যেমন যে সকল সার্ভারে HDD আছে তা রিপ্লেস করে NVMe SSD ইন্সটল করতে হবে। এতে ফাইল ট্র্যান্সফার স্পিড আরও বৃদ্ধি পাবে। যা লেটেন্সি অপ্টিমাইজ করার জন্য অনেক গুরুত্বপূর্ণ এবং কার্যকরী। 

অ্যাপ্লিকেশন অপটিমাইজেশন

লেটেন্সি কমানোর জন্য অ্যাপ্লিকেশন অপটিমাইজেশন বলতে সুন্দর ও গোছানোভাবে কোড লেখার পাশাপাশি-

  • ক্যাশিং
  • লোড ব্যালেন্সিং
  • ডাটাবেজ অপটিমাইজেশন
  • অ্যাসিঙ্ক্রোনাস প্রোসেসিং

এই প্রযুক্তিগুলো ইমপ্লিমেন্ট করতে হবে। কারণ অ্যাপ্লিকেশন লেভেলে এই প্রযুক্তি গুলো অ্যাপ্লাই করতে পারলে নেটওয়ার্ক ও হার্ডওয়্যারের লেটেন্সি এমনিতেই কমে যাবে। এতে ওয়েব অ্যাপ থেকে শুরু করে স্ট্রিমিং সার্ভিস সব কিছু স্মুথলি চলবে। 

শেষকথা

ওয়েবসাইট বা অ্যাপ্লিকেশন যে মাধ্যম হোক না কেন লেটেন্সি বেশি হলে তা খারাপ অভিজ্ঞতার সৃষ্টি করে। বর্তমানে যে সকল অ্যাপ বা ওয়েবসাইট লোড হতে বেশি সময় লাগে সে সকল ওয়েবসাইট বা অ্যাপ সার্চ ইঞ্জিনে র‍্যাঙ্ক হারায়। আজকের লেখায় লেটেন্সি কি এর প্রকারভেদ ও লেটেন্সি অপ্টিমাইজ করার কৌশল সম্পর্কে বিস্তারিত আলোচনা করা হয়েছে। 

Leave a Reply