웹사이트 검색

TCP BBR을 사용하여 Linux 서버 인터넷 속도를 높이는 방법


BBR(병목 대역폭 및 RTT)은 Google의 소프트웨어 엔지니어가 작성한 비교적 새로운 혼잡 제어 알고리즘입니다. 이는 인터넷의 주력 제품인 TCP 프로토콜을 통해 인터넷 속도를 향상시키려는 Google의 끊임없는 시도의 최신 솔루션입니다.

BBR의 주요 목표는 네트워크 활용을 부팅하고 대기열을 줄이는 것입니다(이로 인해 네트워크 활동이 느려짐). 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에서 최신 커널 버전을 설치하거나 업그레이드하는 방법

Linux에서 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

파일을 저장하고 닫습니다. 그런 다음 sysctl 명령을 사용하여 시스템에 변경 사항을 적용합니다.

sysctl --system

스크린샷을 보면 적절한 값으로 옵션이 추가된 것을 볼 수 있습니다.

TCP BBR 혼잡 제어 구성 테스트

필요한 구성을 수행한 후 실제로 작동하는지 테스트할 수 있습니다. Speedtest-CLI와 같이 대역폭 속도를 측정하는 여러 도구가 있습니다.

  1. 'Speedtest-CLI' 도구를 사용하여 명령줄에서 양방향으로 인터넷 속도를 테스트하는 방법

다른 도구로는 bmon(대역폭 모니터), nload, Wget – 명령 기반 파일 다운로더 및 cURL이 있으며 모두 네트워크 대역폭을 표시합니다. 테스트에 사용할 수 있습니다.

BBR Github 저장소: https://github.com/google/bbr

다음 관련 기사를 읽고 싶을 수도 있습니다.

  1. 인터넷 대역폭 속도를 테스트하기 위해 자신만의 "Speedtest 미니 서버" 설정
  2. Trickle을 사용하여 Linux 시스템의 응용 프로그램에서 사용되는 네트워크 대역폭을 제한하는 방법
  3. 지속적 및 비영구적 방식으로 커널 런타임 매개변수를 변경하는 방법

이 기사에서는 Linux에서 TCP BBR 혼잡 제어를 사용하여 Linux 서버 인터넷 속도를 높이는 방법을 보여주었습니다. 다양한 시나리오에서 포괄적으로 테스트하고 아래 의견 양식을 통해 중요한 피드백을 보내주세요.

크레딧: Nixcraft