Linux & Development

Linux TuneD 이용한 성능 최적화

DaehanCNI 2024. 4. 4. 09:00

 

시스템 성능을 위해서 여러가지 방법을 사용하여 튜닝을 진행할 수 있습니다. 

이번에는 TuneD 을 이용하여 다양한 환경에 대한 최적화 방법에 대해 알아보겠습니다. 

본 시스템은 Rocky Linux 8.8 기반으로 작성되었습니다.

 

TuneD는 다양한 종류의 profile을 제공하고 있습니다. 설치되어 있는 서비스 마다 지원하는 profile 목록이 다르니 command을 통하여 지원 목록을 확인할 수 있으며, 새롭게 커스터마이징 하여 생성 및 적용이 가능합니다. 

 

1. Profile 종류

Type Description
accelerator-performance Throughput-performance 프로필과 동일한 튜닝으로 대기 시간 100us 미만이 되도록 CPU가 낮은 C Status로 머무르게 한다. 따라서 GPU와 같은 기능 성능을 향상시킨다.
balanced 기본 절전 프로필. CPU, 디스크, 오디오 및 비디오 플러그 인을 활성화하고 보수적으로 CPU governor을 활성화한다.
desktop Balanced 프로필을 기반으로 하여 데스크탑 사용 사례에 맞는 프로필이다.
latency-performance 짧은 대기 시간에 최적화 된 서버 프로필로 절전 메커니즘을 비활성화하고 대기 시간을 개선하는 sysctl 설정을 활성화한다. CPU governorperformance로 설정되고 CPU가 낮은 C 상태로 설정된다.
network-latency 짧은 대기 시간 네트워크 튜닝을 위한 프로필로 latency-performance 프로필 기반으로 동작하며 대규모 페이지와 NUMA 분산을 비활성화 하고 여러 네트워크 관련 sysctl 매개 변수를 튜닝한다.
network-throughput 처리량 네트워크 튜닝을 위한 프로필로 throughput-performance 프로필 기반으로 한다. 커널 네트워크 버퍼가 증가되도록 추가 설정된다.
powersave 낮은 전력 사용량을 위한 최적화 프로필
throughput-performance 일반적인 서버 워크로드에서의 최적의 성능을 제공할 수 있는 프로필. 절전 메커니즘을 비활성화하고 디스크 및 네트워크 I/O의 처리량 성능을 개선하는 sysctl 설정을 활성화한다.
virtual-gest 가상 머신 게스트 내에서의 최적화 프로필로 다른 작업 중에 가상 메모리 스왑을 줄이고 디스크 읽기 값을 늘리는 throughput-performance 프로필을 기반으로 한다.
virtual-host 가상 머신 실행을 위한 최적화 프로필. 다른 작업에서 가상 메모리 스왑을 줄이고 디스크 읽기 헤드 값을 높이며 더티 페이지 나중 쓰기 값을 활성화하는 throughput-performance 프로필 기반으로 한다.

 

※ 두가지 profile을 병합하여 적용할 수 있으나 충돌이 있을 경우, 마지막 지정된 profile을 우선적으로 적용한다. 

 

2. Profile Command

2.1 Profile 지원 목록

[root@localhost ~]# tuned-adm list

 

2.2 현재 Profile 확인

[root@localhost ~]# tuned-adm active

 

2.3 추천 Profile 

[root@localhost ~]# tuned-adm recommend

 

2.4 Profile 변경

[root@localhost ~]# tuned-adm profile balanced

 

2.5 Profile 끄기

[root@localhost ~]# tuned-adm off

 

Kernel 매개 변수들을 설정하여 다양한 방법으로 튜닝이 가능하며 sysctl 을 이용하여 개별 매개 변수도 설정이 가능하다. 이러한 설정을 이를 이용하여 profile을 생성할 수 있습니다.