Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม Bash

ปรับปรุงแบนด์วิธเซิร์ฟเวอร์ Linux ด้วย TCP BBR:คู่มือปฏิบัติ

บีบีอาร์ (แบนด์วิธคอขวดและ RTT ) เป็นอัลกอริธึมควบคุมความแออัดที่ค่อนข้างใหม่ซึ่งเขียนโดยวิศวกรซอฟต์แวร์ของ Google เป็นโซลูชันล่าสุดจากความพยายามอย่างต่อเนื่องของ Google ที่จะทำให้อินเทอร์เน็ตเร็วขึ้นผ่านโปรโตคอล TCP ซึ่งเป็นกลไกสำคัญของอินเทอร์เน็ต

จุดมุ่งหมายหลักของ BBR คือการบูตการใช้งานเครือข่ายและลดคิว (ซึ่งส่งผลให้กิจกรรมเครือข่ายช้าลง):ควรปรับใช้บนเซิร์ฟเวอร์ แต่ไม่ใช่ในเครือข่ายหรือฝั่งไคลเอ็นต์ ใน Linux นั้น BBR จะถูกนำไปใช้ในเคอร์เนลเวอร์ชัน 4.9 หรือสูงกว่า

ในบทความนี้ เราจะอธิบาย TCP BBR โดยย่อ จากนั้นดำเนินการต่อเพื่อแสดงวิธีเพิ่มความเร็วอินเทอร์เน็ตของเซิร์ฟเวอร์ Linux โดยใช้การควบคุมความแออัดของ TCP BBR ใน Linux

ข้อกำหนด

คุณควรติดตั้งเคอร์เนล Linux เวอร์ชัน 4.9 ขึ้นไป โดยคอมไพล์ด้วยตัวเลือกเหล่านี้ (ไม่ว่าจะเป็นโมดูลหรือแบบฝัง):

  • CONFIG_TCP_CONG_BBR
  • CONFIG_NET_SCH_FQ
  • CONFIG_NET_SCH_FQ_CODEL

วิธีตรวจสอบโมดูลเคอร์เนลใน Linux

หากต้องการตรวจสอบว่าตัวเลือกข้างต้นถูกคอมไพล์ในเคอร์เนลของคุณหรือไม่ ให้รันคำสั่งเหล่านี้:

# cat /boot/config-$(uname -r) | grep 'CONFIG_TCP_CONG_BBR'
# cat /boot/config-$(uname -r) | grep 'CONFIG_NET_SCH_FQ'
ปรับปรุงแบนด์วิธเซิร์ฟเวอร์ Linux ด้วย TCP BBR:คู่มือปฏิบัติ ตรวจสอบโมดูลเคอร์เนล

หากต้องการอัปเดตเคอร์เนลของคุณ โปรดดูคำแนะนำเหล่านี้:

  1. วิธีอัปเกรดเคอร์เนลเป็นเวอร์ชันล่าสุดใน Ubuntu
  2. วิธีการติดตั้งหรืออัปเกรดเคอร์เนลเป็นเวอร์ชันล่าสุดใน CentOS 7

การเปิดใช้งานการควบคุมความแออัดของ TCP BBR ใน Linux

บีบีอาร์ ทำงานอย่างมีประสิทธิผลด้วยการเว้นจังหวะ ดังนั้นจึงต้องใช้ร่วมกับ fq qdisc ตัวกำหนดเวลาแพ็กเก็ต classless สำหรับการเว้นจังหวะการรับส่งข้อมูล หากต้องการค้นหาข้อมูลเพิ่มเติมเกี่ยวกับ fq qdisc , พิมพ์:

# man tc-fq

ด้วยความเข้าใจที่ถูกต้องเกี่ยวกับ BBR ตอนนี้คุณสามารถกำหนดค่าบนเซิร์ฟเวอร์ของคุณได้ เปิด /etc/sysctl.conf ไฟล์โดยใช้โปรแกรมแก้ไขที่คุณชื่นชอบ

# vi /etc/sysctl.conf

เพิ่มตัวเลือกด้านล่างที่ส่วนท้ายของไฟล์

net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
ปรับปรุงแบนด์วิธเซิร์ฟเวอร์ Linux ด้วย TCP BBR:คู่มือปฏิบัติ การเปิดใช้งาน TCP BBR ใน Linux

บันทึกและปิดไฟล์ จากนั้นทำให้เกิดการเปลี่ยนแปลงในระบบโดยใช้ sysctl คำสั่ง

# sysctl --system

จากภาพหน้าจอ คุณสามารถเห็นตัวเลือกที่ถูกเพิ่มด้วยค่าที่เหมาะสม

ปรับปรุงแบนด์วิธเซิร์ฟเวอร์ Linux ด้วย 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. วิธีจำกัดแบนด์วิธเครือข่ายที่ใช้โดยแอปพลิเคชันในระบบ Linux ด้วย Trickle
  3. วิธีการเปลี่ยนพารามิเตอร์เคอร์เนลรันไทม์ในลักษณะต่อเนื่องและไม่ถาวร

ในบทความนี้ เราได้แสดงวิธีเพิ่มความเร็วอินเทอร์เน็ตของเซิร์ฟเวอร์ Linux โดยใช้การควบคุมความแออัดของ TCP BBR ใน Linux ทดสอบอย่างครอบคลุมภายใต้สถานการณ์ต่างๆ และให้ข้อเสนอแนะที่สำคัญแก่เราผ่านแบบฟอร์มความคิดเห็นด้านล่าง

เครดิต:นิกซ์คราฟต์

ยกระดับทักษะ Linux ของคุณไปอีกระดับ

สมาชิกระดับรูทจะสามารถเข้าถึงทุกหลักสูตรได้อย่างเต็มที่ แนวทางการเตรียมการรับรอง และคลังเนื้อหา Linux เชิงปฏิบัติที่กำลังเติบโต — พร้อมด้วยหลักสูตรใหม่ๆ ที่เพิ่มเข้ามาทุกเดือน

สิ่งที่คุณได้รับ

เข้าถึงบทความพรีเมียมทั้งหมดโดยไม่มีโฆษณา

เข้าถึงทุกหลักสูตร:เรียนรู้ Linux, AI สำหรับ Linux, การเขียนสคริปต์ Bash, คู่มือ Ubuntu, Golang และอีกมากมาย

เข้าถึงการรับรอง Linux (RHCSA, RHCE, LFCS และ LFCA)

เข้าถึงหลักสูตรใหม่ในการเปิดตัว

รับการเข้าถึงจดหมายข่าวรายสัปดาห์

ความช่วยเหลือสำคัญในความคิดเห็น

ชุมชนโทรเลขส่วนตัว

เชื่อมต่อกับชุมชน Linux

ปรับปรุงแบนด์วิธเซิร์ฟเวอร์ Linux ด้วย TCP BBR:คู่มือปฏิบัติ

Aaron Kili เป็นผู้ที่ชื่นชอบ Linux และ F.O.S.S, SysAdmin Linux ที่กำลังจะมาถึง, นักพัฒนาเว็บ และปัจจุบันเป็นผู้สร้างเนื้อหาสำหรับ TecMint ผู้ชื่นชอบการทำงานกับคอมพิวเตอร์และเชื่อมั่นในการแบ่งปันความรู้

บทช่วยสอนแต่ละรายการที่ TecMint สร้างขึ้นโดยทีมผู้ดูแลระบบ Linux ที่มีประสบการณ์ เพื่อให้เป็นไปตามมาตรฐานคุณภาพสูงของเรา