কম্পিউটার টিউটোরিয়াল

TCP BBR দিয়ে লিনাক্স সার্ভার ব্যান্ডউইথ বাড়ান: একটি ব্যবহারিক গাইড

BBR (Bottleneck Bandwidth and RTT) হল একটি তুলনামূলক নতুন কাঙ্গেস্টন কন্ট্রোল অ্যালগরিদম যা Google-এর সফ্টওয়্যার ইঞ্জিনিয়াররা লিখেছে। এটি Google-এর 지속적인 প্রচেষ্টার লেটেস্ট সমাধান ইন্টারনেটকে TCP প্রোটোকল—ইন্টারনেটের ওয়ার্কহর্স—মाध्यমে দ্রুত করার জন্য।

BBR-এর প্রাথমিক লক্ষ্য হলো নেটওয়ার্ক ইউটিলাইজেশন বুট করা এবং কিউ রিডিউস করা (যা স্লো নেটওয়ার্ক অ্যাক্টিভিটির কারণ হয়): এটি সার্ভার дэপ্লয় করা উচিত, কিন্তু নেটওয়ার্ক বা ক্লায়েন্ট সাইডে নয়। লিনাক্সে, BBR কার্নেল ভার্সন 4.9 বা উচ্চতরাতে ইমপ্লিমেন্টেড।

এই আর্টিকেলে, আমরা সংক্ষেপে TCP BBR ব্যাখ্যা করব, তারপর দেখাব কিভাবে TCP BBR কাঙ্গেস্টন কন্ট্রোল ব্যবহার করে লিনাক্স সার্ভারের ইন্টারনেট স্পিড বুস্ট করতে হয়।

প্রয়োজনীয়তা

আপনার কাছে লিনাক্স কার্নেল ভার্সন ৪.৯ বা তার উপরে ইনস্টল থাকতে হবে, এই অপশনগুলো কম্পাইলড থাকতে হবে (এইথার মডিউল হিসেবে বা বিল্ট-ইন):

  • CONFIG_TCP_CONG_BBR
  • CONFIG_NET_SCH_FQ
  • CONFIG_NET_SCH_FQ_CODEL

লিনাক্সে কার্নেল মডিউল চেক করা

উপরের অপশনগুলো আপনার কার্নেলে কম্পাইলড আছে কিনা চেক করতে, নিচের কমান্ডগুলো চালান:

 # cat /boot/config-$(uname -r) | grep 'CONFIG_TCP_CONG_BBR'
 # cat /boot/config-$(uname -r) | grep 'CONFIG_NET_SCH_FQ'
TCP BBR দিয়ে লিনাক্স সার্ভার ব্যান্ডউইথ বাড়ান: একটি ব্যবহারিক গাইড

কার্নেল মডিউল চেক করুন

আপনার কার্নেল আপডেট করতে, এই গাইডগুলো চেক করুন:

  1. Ubuntu-এ কার্নেল লেটেস্ট ভার্সনে আপগ্রেড করার পদ্ধতি
  2. CentOS 7-এ লেটেস্ট কার্নেল ভার্সন ইনস্টল বা আপগ্রেড করার পদ্ধতি

লিনাক্সে TCP BBR কাঙ্গেস্টন কন্ট্রোল এনেবল করা

BBR পেসিং-সহ কার্যকরভাবে কাজ করে, তাই এটি fq qdisc ক্লাসলেস প্যাকেট শিডিউলার সহ অবশ্যই ট্রাফিক পেসিং-এ নিযুক্ত হতে হবে। fq qdisc-এর আরও ইনফরমেশনের জন্য, টাইপ করুন:

# man tc-fq

BBR-এর ন্যায ফার বুঝলে, আপনি এখন আপনার সার্ভারে এটি কনফিগার করতে পারেন। আপনার পছন্দের এডিটর দিয়ে /etc/sysctl.conf ফাইল খুলুন।

# vi /etc/sysctl.conf

ফাইলের শেষে নিচের অপশনগুলো যোগ করুন।

net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
TCP BBR দিয়ে লিনাক্স সার্ভার ব্যান্ডউইথ বাড়ান: একটি ব্যবহারিক গাইড

লিনাক্সে TCP BBR এনেবল করা

ফাইলটি সেভ ও ক্লোজ করুন। তারপর sysctl কমান্ড ব্যবহার করে সিস্টেমে পরিবর্তনগুলো ইফেক্ট করুন।

# sysctl --system

নিচের স্ক্রিনশট থেকে, আপনি দেখতে পাবেন অপশনগুলো উপযুক্ত মানসহ যোগ হয়েছে।

TCP BBR দিয়ে লিনাক্স সার্ভার ব্যান্ডউইথ বাড়ান: একটি ব্যবহারিক গাইড

কার্নেল প্যারামিটার যাচাই করুন

TCP BBR কাঙ্গেস্টন কন্ট্রোল কনফিগারেশন টেস্ট করা

প্রয়োজনীয় কনফিগারেশনগুলো পারফর্ম করার পর, আপনি টেস্ট করতে পারেন এটি প্র্যাক্টিক্যালি কাজ করছে কিনা। ব্যান্ডউইথ স্পিড মাপার জন্য কয়েকটি টুল আছে যেমন Speedtest-CLI:

  1. কমান্ড লাইন থেকে 'Speedtest-CLI' টুল ব্যবহার করে বাইডাইরেকশনালি আপনার ইন্টারনেট স্পিড টেস্ট করার পদ্ধতি

অন্যান্য টুলগুলো شامل bmon (ব্যান্ডউইথ মনিটর), nload, Wget – কমান্ড-ভিত্তিক ফাইল ডাউনলোডার এবং cURL যা সকল নেটওয়ার্ক ব্যান্ডউইথ দেখায়; আপনি সেগুলো টেস্টের জন্য ব্যবহার করতে পারেন।

BBR GitHub রিপোজিটরি: https://github.com/google/bbr

আপনি নিচের সম্পর্কিত আর্টিকেলগুলিও পছন্দ করতে পারেন।

  1. আপনার নিজস্ব "Speedtest Mini Server" সেটআপ করুন ইন্টারনেট ব্যান্ডউইথ স্পিড টেস্ট করতে
  2. Trickle ব্যবহার করে লিনাক্স সিস্টেমে অ্যাপ্লিকেশন দ্বারা ব্যবহৃত নেটওয়ার্ক ব্যান্ডউইথ লিমিট করার পদ্ধতি
  3. কার্নেল রানটাইম প্যারামিটার постоян এবং অ-স্থায়ীভাবে পরিবর্তন করার পদ্ধতি

এই আর্টিকেলে, আমরা দেখিয়েছি কিভাবে TCP BBR কাঙ্গেস্টন কন্ট্রোল ব্যবহার করে লিনাক্স সার্ভারের ইন্টারনেট স্পিড বুস্ট করতে হয়। বিভিন্ন সিনেরিওতে এটি ব্যাপকভাবে টেস্ট করুন এবং আমাদের যেকোনো গুরুত্বপূর্ণ ফিডব্যাক কমেন্ট ফর্মে দিন।

Credit: Nixcraft

আপনার লিনাক্স দক্ষতা পরবর্তী লেভেলে নিন

Root সদস্যদের সব কোর্স, সার্টিফিকেশন প্রস্তুতি ট্র্যাক, এবং হ্যাঁডস-অন লিনাক্স কন্টেন্টের লাইব্রেরিতে পূর্ণ অ্যাক্সেস পাওয়া যায়—প্রতিমাসে নতুন কোর্স যোগ হয়।

আপনি কী পাবেন

  • সকল প্রিমিয়াম আর্টিকেলে অ্যাড-ফ্রি অ্যাক্সেস
  • সকল কোর্সে অ্যাক্সেস: লিনাক্স শিখুন, লিনাক্সের জন্য AI, ব্যাশ স্ক্রিপ্টিং, উবুন্টু হ্যান্ডবুক, Golang এবং আরও অনেক কিছু।
  • লিনাক্স সার্টিফিকেশনে অ্যাক্সেস (RHCSA, RHCE, LFCS এবং LFCA)
  • রিলিজ হলে নতুন কোর্সে অ্যাক্সেস
  • সাপ্তাহিক নিউজলেটারে অ্যাক্সেস
  • কমেন্টসে প্রায়োরিটি সাহায্য
  • প্রাইভেট টেলিগ্রাম কমিউনিটি
  • লিনাক্স কমিউনিটির সাথে সংযোগ
TCP BBR দিয়ে লিনাক্স সার্ভার ব্যান্ডউইথ বাড়ান: একটি ব্যবহারিক গাইড

আরোন কিলি একজন লিনাক্স এবং F.O.S.S অনুসারী, একজন উদযাপনশীল লিনাক্স সিস্টেম অ্যাডমিন, ওয়েব ডেভেলপার, এবং বর্তমানে TecMint-এর জন্য কন্টেন্ট ক্রিয়েটর যিনি কম্পিউটারের সাথে কাজ করা পছন্দ করেন এবং জ্ঞান শেয়ার করার কঠোরভাবে বিশ্বাস করেন।

TecMint-এ প্রতিটি টিউটোরিয়াল অভিজ্ঞ লিনাক্স সিস্টেম অ্যাডমিনিস্ট্রেটরদের একটি টিম তৈরি করে যাতে এটি আমাদের উচ্চ-মানের মানদণ্ড পূরণ করে।

  1. Android-এ নেটওয়ার্ক প্রোভাইডার থেকে বর্তমান ঠিকানা পাওয়ার উপায়

  2. C++-এ ট্রিতে দুটি অ-অন্তঃচ্ছেদী পথের সর্বোচ্চ গুণফল (Maximum product of two non-intersecting paths in a tree)

  3. এন্ড্রয়েডে WebView-এ স্ক্রলিং প্রোগ্রামেটিক্যালি বন্ধ করার পদ্ধতি

  4. NoSQL কী এবং কি এটি ডাটাবেসে পরবর্তী বড় ট্রেন্ড?