SYSCTL MAP

커널 튜닝은 연결, 메모리, 디스크 대기열을 각각 다른 손잡이로 조절한다

본문 예제의 `ulimit`, TCP 백로그, swappiness, dirty page, I/O 스케줄러는 모두 병목 위치가 다를 때 선택하는 설정이다.

증상에서 설정으로 이어지는 경로

1
동시 접속이 늘 때 연결이 거부된다

소켓 수와 listen 대기열을 먼저 의심한다.

ulimit -n, somaxconn
2
DB나 Redis가 스왑으로 느려진다

RAM을 우선 쓰도록 swappiness를 낮추고 overcommit 정책을 본다.

vm.swappiness=10
3
쓰기 지연이 한꺼번에 튄다

dirty page가 어느 시점에 백그라운드 플러시되는지 조정한다.

dirty_ratio, dirty_background_ratio

본문 표의 값을 읽는 방식

항목
대표 값
줄이려는 위험
TCP 백로그
65535
연결 폭주와 SYN 큐 부족으로 새 요청이 밀리는 상황
로컬 포트 범위
1024-65535
아웃바운드 연결이 많을 때 임시 포트가 빠르게 고갈되는 상황
I/O 스케줄러
none, mq-deadline
NVMe에는 불필요한 스케줄링 오버헤드, HDD에는 요청 지연

운영 적용: 예제처럼 `sysctl -w`로 즉시 바꾼 값은 재부팅 후 사라질 수 있으므로, 검증된 값만 `/etc/sysctl.conf`에 영구 반영한다.