Kernel Tuning

커널 파라미터 튜닝

sysctl 값은 성능을 자동으로 올리는 스위치가 아니다. 네트워크 backlog, file limit, memory 정책처럼 특정 병목을 완화하는 도구다.

01

증거를 모은다

connection drop, fd exhaustion, swap pressure처럼 현재 지표가 어떤 한계를 가리키는지 확인한다.

02

한 번에 하나만 바꾼다

여러 파라미터를 동시에 바꾸면 어떤 값이 효과나 부작용을 냈는지 알 수 없다.

03

적용 범위 선택

sysctl -w는 일시 적용, /etc/sysctl.d 설정은 재부팅 후에도 남는 정책이다.

net.core.somaxconn
listen backlog 상한 accept 대기 queue 크기와 관련된다.
애플리케이션 backlog와 함께 본다.
fs.file-max
시스템 파일 핸들 전체 열린 파일 수 제한에 영향을 준다.
프로세스별 ulimit도 별도다.
vm.swappiness
swap 선호도 메모리 압박 때 swap 사용 경향을 조정한다.
워크로드별로 다르다.
rollback
운영 안전 변경 전 값과 성능 지표를 기록해야 되돌릴 수 있다.
재부팅 지속 여부도 확인한다.

가설 · 범위 · 측정 점검

가설 파라미터 변경이 어떤 관측 병목을 완화하는지 설명할 수 있는가.
범위 일시 적용인지 영구 적용인지 알고 실행하는가.
측정 변경 전후 같은 지표로 효과와 부작용을 비교하는가.

튜닝 절차

sysctl net.core.somaxconn
sysctl -w net.core.somaxconn=4096
# record before/after metrics and rollback value