ค้นหาเว็บไซต์

วิธีเพิ่มความเร็วอินเทอร์เน็ตของเซิร์ฟเวอร์ Linux ด้วย TCP BBR


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'

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

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

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

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

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

sysctl --system

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

การทดสอบการกำหนดค่าการควบคุมความแออัดของ TCP BBR

หลังจากดำเนินการกำหนดค่าที่จำเป็นแล้ว คุณสามารถทดสอบได้ว่าใช้งานได้จริงหรือไม่ มีเครื่องมือหลายอย่างสำหรับวัดความเร็วแบนด์วิดท์ เช่น Speedtest-CLI:

  1. วิธีทดสอบความเร็วอินเทอร์เน็ตของคุณแบบสองทิศทางจาก Command Line โดยใช้เครื่องมือ '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 ทดสอบอย่างครอบคลุมภายใต้สถานการณ์ต่างๆ และให้ข้อเสนอแนะที่สำคัญแก่เราผ่านแบบฟอร์มความคิดเห็นด้านล่าง

เครดิต: Nixcraft