자유게시판free_BOARD

리눅스 서버에 TCP BBR 알고리즘 적용하기 _커널 업데이트 우분투 16.04에 적용_속도 향상

작성자 정보

  • 작성자 서버관리
  • 작성일

컨텐츠 정보

본문

TCP BBR은 구글에서 개발된 혼잡 제어 알고리즘입니다.
이제 Google Cloud Platform  (GCP)에 인터넷 트래픽에 대해 더 높은 대역폭과 더 낮은 지연 시간을 달성하는 최신의 새로운 혼잡 제어 알고리즘 인 TCP BBR 이 포함되어 있음을 발표하게되어 기쁩니다 . 이는 google.com의 TCP 트래픽을 지원하는 동일한 BBR이며 전 세계적으로 YouTube 네트워크 처리량을 평균 4 % 향상 시켰으며 일부 국가에서는 14 % 이상 향상 시켰습니다


Cloud Computing Services  |  Google Cloud


저는 우분투 16.04를 사용하고 있습니다. 커널 버젼이 4.4로 되어있더군요, 4.9 이상만 사용 가능하다고하여 업데이트가 필요했습니다.
우분투 18.04에서는 5.0버젼 이상이던데, 16.04는 4.15가 설치되어 있어, 커널 4.15로 업데이트하여 설정을 했습니다. 

그래도 우분투 16.04에서 사용 가능해 다행이네요

찾느라고 한참 헤멧는데요. 찾고 나서 적용하니, 쉽더군요. 자세히 해놓아서 그대로 따라만 하면되더군요

아래 방법을 참고 하세요^^

| 서버 확인

적용할 서버에 접속해 커널 버전을 확인합니다.
4.9버전 이상에서만 적용 가능합니다.

$ uname -r
4.15.0-1043-aws
커널 버전이 4.15.0-1043-aws인 경우입니다. (4.15)

4.9버전 미만이라면 업데이트합니다.

$ sudo apt update && sudo apt upgrade


|BBR 적용


/etc/sysctl.conf을 편집합니다.

$ sudo nano /etc/sysctl.conf
sysctl.conf의 마지막 줄에

net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
을 추가하여 저장합니다.

/etc/sysctl.conf의 커널 설정을 적용합니다.

$ sudo sysctl -p
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
잘 적용되었는지 확인합니다.

$ sudo sysctl -a | grep -E 'bbr|fq'
net.core.default_qdisc = fq
net.ipv4.tcp_allowed_congestion_control = reno cubic bbr
net.ipv4.tcp_available_congestion_control = reno cubic bbr
net.ipv4.tcp_congestion_control = bbr


참고 블로그

buffashe's Blog
리눅스 서버에 TCP BBR 알고리즘 적용하기 – buffashe's Blog
TCP BBR은 구글에서 개발된 혼잡 제어 알고리즘입니다. YouTube 네트워크에 적용한 결과 평균 4%, 일부 국가에서 14% 이상의 성능 향상이 있었다고 … 더 보기 "리눅스 서버에 TCP BBR 알고리즘 적용하기"


|커널 업데이트 방법

Ubuntu에서 kernel을 업데이트하는 방법을 소개합니다. 보통 Software & updates 프로그램으로 최신 커널로 업데이트할 수 있습니다. 하지만 직접 터미널로 커널을 설치할 수도 있습니다.

apt를 이용하여 커널을 설치하는 방법을 소개합니다.

이 글의 내용은 Ubuntu 18.04에서 확인하였습니다.

현재 Kernel 버전 확인
다음 명령어로 현재 내 시스템의 커널 버전을 확인할 수 있습니다.

$ uname -r
5.0.0.23-generic
설치 가능한 Kernel 버전 확인
apt-cache 명령어로 현재 설치 가능한 커널 버전을 찾을 수 있습니다.

$ sudo apt-cache search linux-image-5.
linux-image-5.0.0-1007-oracle - Signed kernel image oracle
linux-image-5.0.0-1008-oracle - Signed kernel image oracle
linux-image-5.0.0-1009-oracle - Signed kernel image oracle
....
linux-image-5.3.0-24-generic - Signed kernel image generic
linux-image-5.3.0-24-lowlatency - Signed kernel image lowlatency
linux-image-5.3.0-26-generic - Signed kernel image generic
이 중에 업데이트하려는 버전을 선택해야 합니다.

설치
업데이트할 커널 버전을 정했으면, 다음과 같이 apt로 설치를 합니다. 저는 kernel 5.3 버전으로 업데이트할 것입니다.

$ sudo apt-get install linux-image-5.3.0-23-generic
설치가 끝나면 시스템을 reboot합니다.

그리고 다시 커널 버전을 확인하면 업데이트된 것을 확인할 수 있습니다.

$ uname -r
linux-image-5.3.0-23-generic
Kernel 버전 변경
새로운 커널이 문제가 많다면 이전에 사용하던 버전으로 돌아가고 싶을 수도 있습니다.

부팅할 때마다 부트로더인 Grub2 화면이 보이도록 만든다면, 원하는 커널 버전을 선택하여 부팅할 수 있습니다.

부팅 때 Grub2을 실행하려면 Grub2의 설정을 변경해야 합니다.

먼저 다음 명령어로 grub 설정 파일을 열고 GRUB_TIMEOUT_STYLE, GRUB_TIMEOUT을 주석처리 합니다.

$ sudo vim /etc/default/grub

파일을 저장하고, 변경된 내용을 업데이트합니다. (만약 업데이트하지 않으면 변경 내용이 적용되지 않습니다.)

$ sudo update-grub
이제 시스템을 재시작하면 grub2 화면이 뜹니다.
grub2 main
Advanced options for Ubuntu를 선택하면 아래와 같이 현재 설치된 커널 리스트가 보입니다. 원하는 버전을 선택하고 Enter를 누르면 선택된 버전으로 Ubuntu가 실행됩니다.
grub2 kernel version
참고로, 버전 옆에 (recovery mode)라고 되어있는 것은 시스템을 복구할 때 사용되는 커널입니다

참고 블로그
codechacha
Ubuntu - kernel 업데이트하는 방법 (manually)
Ubuntu에서 apt를 이용하여 커널을 설치하는 방법을 소개합니다. 보통 Software & updates 프로그램으로 최신 커널로 업데이트할 수 있습니다. 하지만 직접 터미널로 커널을 설치할 수도 있습니다. 또한 grub을 통해 부팅할 때 커널 버전을 선택할 수 있도록 만들수도 있습니다.
 

관련자료

댓글 0
등록된 댓글이 없습니다.

최근글


동영상


공지사항