Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Bash प्रोग्रामिंग

TCP BBR के साथ लिनक्स सर्वर बैंडविड्थ बढ़ाएं: एक व्यावहारिक गाइड

BBR (बॉटलनेक बैंडविड्थ और RTT) Google के सॉफ्टवेयर इंजीनियरों द्वारा लिखित एक अपेक्षाकृत नया कंजेशन कंट्रोल एल्गोरिदम है। यह TCP प्रोटोकॉल के माध्यम से इंटरनेट को तेज बनाने के लिए Google के लगातार प्रयासों का नवीनतम समाधान है – इंटरनेट का कार्यघोड़ा।

BBR का प्राथमिक उद्देश्य नेटवर्क उपयोग को बढ़ावा देना और कतारों को कम करना है (जो धीमी नेटवर्क गतिविधि का परिणाम देते हैं): इसे सर्वरों पर तैनात किया जाना चाहिए, लेकिन नेटवर्क या क्लाइंट साइड पर नहीं। लिनक्स में, BBR कर्नेल संस्करण 4.9 या उच्च में लागू किया गया है।

इस लेख में, हम संक्षेप में TCP BBR की व्याख्या करेंगे, फिर लिनक्स में TCP BBR कंजेशन कंट्रोल का उपयोग करके लिनक्स सर्वर इंटरनेट स्पीड को बढ़ावा देने का तरीका दिखाएंगे।

आवश्यकताएं

आपके पास लिनक्स कर्नेल संस्करण 4.9 या उससे ऊपर इंस्टॉल होना चाहिए, जिसे इन विकल्पों के साथ कंपाइल किया गया हो (या तो मॉड्यूल के रूप में या इसमें अंतर्निहित):

  • 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. उबंटू में कर्नेल को नवीनतम संस्करण में कैसे अपग्रेड करें
  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 के साथ लिनक्स सर्वर बैंडविड्थ बढ़ाएं: एक व्यावहारिक गाइड

फाइल को सेव करें और बंद करें। फिर sysctl कमांड का उपयोग करके सिस्टम में परिवर्तन लागू करें।

# sysctl --system

नीचे स्क्रीन शॉट से, आप देख सकते हैं कि विकल्प उचित मानों के साथ जोड़े गए हैं।

TCP BBR के साथ लिनक्स सर्वर बैंडविड्थ बढ़ाएं: एक व्यावहारिक गाइड

TCP BBR कंजेशन कंट्रोल कॉन्फ़िगरेशन का परीक्षण

आवश्यक कॉन्फ़िगरेशन करने के बाद, आप परीक्षण कर सकते हैं कि यह व्यावहारिक रूप से काम कर रहा है या नहीं। बैंडविड्थ स्पीड मापने के लिए कई टूल हैं जैसे Speedtest-CLI:

  1. कमांड लाइन से 'Speedtest-CLI' टूल का उपयोग करके बिडायरेक्शनल रूप से अपने इंटरनेट स्पीड का परीक्षण कैसे करें

अन्य टूल्स में bmon (बैंडविड्थ मॉनिटर), nload, Wget – कमांड आधारित फाइल डाउनलोडर और cURL शामिल हैं जो सभी नेटवर्क बैंडविड्थ दिखाते हैं; आप उनका परीक्षण के लिए उपयोग कर सकते हैं।

BBR गिटहब रिपॉजिटरी: https://github.com/google/bbr

आप निम्नलिखित संबंधित लेख भी पढ़ना पसंद कर सकते हैं।

  1. अपना खुद का "Speedtest Mini Server" सेटअप करें इंटरनेट बैंडविड्थ स्पीड टेस्ट करने के लिए
  2. लिनक्स सिस्टम में Trickle का उपयोग करके एप्लिकेशन द्वारा उपयोग किए जाने वाले नेटवर्क बैंडविड्थ को कैसे सीमित करें
  3. कर्नेल रनटाइम पैरामीटर्स को लगातार और गैर-लगातार तरीके से कैसे बदलें

इस लेख में, हमने दिखाया कि लिनक्स में TCP BBR कंजेशन कंट्रोल का उपयोग करके लिनक्स सर्वर इंटरनेट स्पीड को कैसे बढ़ावा दिया जाए। विभिन्न परिदृश्यों के तहत इसका व्यापक परीक्षण करें और नीचे कमेंट फॉर्म के माध्यम से हमें कोई महत्वपूर्ण फीडबैक दें।

क्रेडिट: Nixcraft

अपने लिनक्स कौशल को अगले स्तर पर ले जाएं

रूट सदस्यों को हर कोर्स, सर्टिफिकेशन प्रेप ट्रैक, और हैंड्स-ऑन लिनक्स कंटेंट की बढ़ती लाइब्रेरी तक पूरी पहुंच मिलती है — हर महीने नए कोर्स जोड़े जाते हैं।

आपको क्या मिलता है

  • सभी प्रीमियम लेखों तक विज्ञापन-मुक्त पहुंच
  • सभी कोर्स तक पहुंच: लिनक्स सीखें, लिनक्स के लिए AI, बैश स्क्रिप्टिंग, उबंटू हैंडबुक, गोलैंग और बहुत कुछ।
  • लिनक्स सर्टिफिकेशन तक पहुंच (RHCSA, RHCE, LFCS और LFCA)
  • रिलीज़ पर नए कोर्स तक पहुंच
  • साप्ताहिक न्यूज़लेटर तक पहुंच
  • कमेंट्स में प्राथमिकता सहायता
  • निजी टेलीग्राम कम्युनिटी
  • लिनक्स कम्युनिटी से जुड़ें

TCP BBR के साथ लिनक्स सर्वर बैंडविड्थ बढ़ाएं: एक व्यावहारिक गाइड

आरोन किली एक लिनक्स और F.O.S.S उत्साही हैं, एक आगामी लिनक्स सिसएडमिन, वेब डेवलपर, और वर्तमान में TecMint के लिए कंटेंट क्रिएटर हैं जो कंप्यूटर के साथ काम करना पसंद करते हैं और ज्ञान साझा करने में दृढ़ता से विश्वास करते हैं।

TecMint पर प्रत्येक ट्यूटोरियल अनुभवी लिनक्स सिस्टम एडमिनिस्ट्रेटर्स की एक टीम द्वारा बनाया जाता है ताकि यह हमारे उच्च-गुणवत्ता मानकों को पूरा करे।

  1. C भाषा में एल्स-इफ लैडर स्टेटमेंट समझें C भाषा में एल्स-इफ लैडर स्टेटमेंट समझें

    यह मल्टी-वे डिसीजन लिखने का सबसे सामान्य तरीका है। सिंटैक्स नीचे दिए गए सिंटैक्स को देखें: if (condition1) stmt1; else if (condition2) stmt2; // ... else if (condition_n) stmt_n; else stmt_x; एल्गोरिदम नीचे दिए गए एल्गोरिदम को देखें: b) तो c सबसे बड़ा प्रिंट करें iv. अन्यथा d सबसे बड़ा प्

  1. C++ में जांचें कि बाइनरी ट्री ऊंचाई-संतुलित है या नहीं C++ में जांचें कि बाइनरी ट्री ऊंचाई-संतुलित है या नहीं

    एक बाइनरी ट्री ऊंचाई-संतुलित (height-balanced) होता है यदि प्रत्येक नोड के लिए उसके बाएं और दाएं सबट्री की ऊंचाई का निरपेक्ष अंतर 0 या 1 हो। दिए गए ट्री के लिए आउटपुट true (1) है। समाधान दृष्टिकोण (पोस्ट-ऑर्डर DFS) एक ग्लोबल फ्लैग ret = true रखें। dfs(node) फंक्शन नोड की ऊंचाई वापस करता है: यदि न

  1. HTML लेआउट्स HTML लेआउट्स

    परिचय HTML लेआउट्स HTML वेब पेज पर घटकों की व्यवस्था को निर्दिष्ट करते हैं। कई HTML सिमेंटिक एलिमेंट्स हैं जो वेब पेज के विभिन्न खंडों को परिभाषित करते हैं। लेआउट के लिए सिमेंटिक HTML एलिमेंट्स टैगव्याख्या <header>एक सेक्शन या दस्तावेज़ के लिए हेडर निर्दिष्ट करता है <