오라클 클라우드 A1, E2 퍼포먼스 향상 팁
오라클 클라우드 A1, E2
클라우드 컴퓨팅 계의 마더혜자 오라클 클라우드를 사용하시는 분들이 컴덕분들 중에 많을 걸로 알고 있습니다.
오라클 클라우드에서 스토리지, 네트워크 퍼포먼스 향상을 위한 팁을 몇 개 적어봅니다.
스토리지 VPU개선, 네트워크 속도 개선(TCP BBR), swappiness 조절
저는 프리티어 무료로 사용중이라 가격 정책에 대해 잘 모릅니다. 유로 사용자들은 VPU 옵션을 바꿨을 때 추가 비용이 없는지는 직접 확인하시는게 좋을 것 같습니다.
스토리지 VPU(Volume Performance Units)개선
스토리지의 VPU를 조절해서 스토리지 I/O 성능을 최대한으로 끌어올릴 수 있습니다.
01. 좌측 상단 스토리지 - 블록스토리지 클릭 - 하위 메뉴가 나오면 "부트 볼륨" 클릭
02. 수정하고자 하는 부트 볼륨 우측에 점 세개 누르고 편집 선택
03. VPU 값을 원하는 값으로 설정
기가바이트 당 볼륨 퍼포먼스 단위 (VPU/GB)를 뜻하고 최고 성능은 120입니다. 설명을 읽어보니 VPU가 높을 수록 스토리지를 빡세게 굴릴 수 있다는 것 같습니다. 자세한 설명은 아래 링크 참조하시고 귀찮으면 그냥 120하면 될 거 같습니다.
https://docs.oracle.com/en-us/iaas/Content/Block/Concepts/blockvolumeultrahighperformance.htm
왜냐면 유료 스토리지의 경우에 120 VPU가 가장 비싸니깐...
VPU 조절 후 도커를 재시작하거나 인스턴스 리부팅을 하는 쪽이 안전합니다.
네트워크 속도 개선 (TCP BBR)
구글이 TCP 통신의 속도 개선 및 안정성 향상을 위해 개발한 알고리즘입니다. 유튜브와 구글클라우드 플랫폼에도 적용되어 있다고 합니다. 자세한 내용은 알고 싶은 분들은 아래 링크 보세요.
속도 향상이 있을지 없을지, 얼마나 차이가 날지는 사람마다 다르지만 뭐 신기술이라니까 일단 적용해 봤습니다. 어차피 구글클라우드 플랫폼과 통신할 일도 많으니...
아래는 적용방법입니다. 오라클클라우드 SSH접속 해서 작업해야 합니다. 설명은 우분투 기준입니다.
01. root 권한 획득
sudo -i
02. /etc/sysctl.conf 파일 편집. 저는 nano 에디터를 사용합니다.
nano /etc/sysctl.conf
03. sysctl.conf 파일에 아래 내용을 추가합니다. 수정 후 저장 및 에디터 종료하기.
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
04. 수정사항을 저장합니다.
sysctl -p
05. 수정 내용이 적용되었는지 확인합니다.
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
Swap 메모리 사용량 조절
오라클 클라우드 A1 의 경우는 무료도 메모리가 24G나 되기 때문에 스왑메모리를 아예 설정하지 않아도 괜찮을 것 같습니다. 하지만 특수한 이유로 스왑메모리를 설정해 두는 경우도 있을 것입니다. swappiness값을 조절해서 스왑메모리와 물리메모리 중 어느쪽을 더 적극적으로 사용할 것인지 설정할 수 있습니다.
마찬가지로 ssh 접속 후 작업해야 합니다.
01. root 권한 획득
sudo -i
02. 현재 swappiness 값 확인 (기본값 60). 낮을수록 물리메모리를 적극적으로 사용합니다.
sysctl vm.swappiness
03. sysctl.conf 파일 편집. 저는 nano 에디터를 사용합니다.
nano /etc/sysctl.conf
04. sysctl.conf파일에 아래 내용 추가. 저는 물리메모리를 적극적으로 사용하기 위해 1을 사용했습니다. 본인의 상황에 맞게 조절. 수정 후 저장 및 에디터 종료하기.
vm.swappiness = 1
05. 수정사항을 저장합니다.
sysctl -p
#A1 #Ȩ2 #오라클클라우드 #swappiness #vpu #TCP BBR