도커로 띄움
서버 환경 설정 변경
file descriptor 수는 레디스 maxClients + 32 로
- 소켓도 파일이다: 리눅스는 클라이언트가 접속할 때마다 '소켓'을 생성하는데, 이를 파일(File Descriptor)로 취급합니다.
- 레디스 내부에서 쓰는 파일 디스크립터 수는 32다.
- 만약
nofiles값이1024(기본값인 경우가 많음)라면, 클라이언트가 1,000명만 접속해도 레디스는 더 이상 요청을 받을 수 없다. ulimit -a로 open files 혹은 nofiles 로 파일 디스크립터 값 확인
THP(Transparent Huge Page) 기능 끄기
- 리눅스는 메모리를 페이지 단위(4KB)로 관리하는데, 메모리 크기 클수록 페이지 관리 테이블 크기(TLB)가 커짐
- 테이블 크기가 크면 오버헤드 이슈 있어서 아예 페이지 크기를 키워버리는 THP기능이 도입됨
- 근데 레디스에선 THP기능이 레이턴시 올라감 → 꺼야함
# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
vm.overcommit_memory=1로 변경
- 레디스가 AOF(Append Only File) 혹은 레디스DB에 저장할 때 fork()를 이용해 자식 프로세스를 만든다.
- COW(Copy On Write)가 동작해 부모와 자식 프로세스가 메모리 페이지 공유하다가 데이터가 변경되면 메모리 페이지를 복사해서 메모리 사용량 증가한다.
vm.overcommit_memory=0이면 커널이 판단해서 메모리 부족할거같으면 fork() 거절한다.- 1로 바꿔 무조건 할당하게 한다.
sudo sysctl vm.overcommit_memory=1
somaxconn, syn_backlog 설정 변경
- 레디스 설정 중에
tcp-backlog가 있다. 레디스 인스턴스가 클라와 통신할 때 쓰는tcp backlog큐의 크기이다. - 이 값은 서버 설정 중
somaxconn,syn_backlog값을 넘으면 안된다. - 레디스
tcp backlog는 511이라 위 값을 511보다 큰 값으로 설정한다.
레퍼런스
(책) 개발자를 위한 레디스

글 읽어주셔서 언제나 감사합니다. 좋은 피드백, 개선 피드백 너무나도 환영합니다.
'SearchDeveloper > 개발자를 위한 레디스' 카테고리의 다른 글
| 3장 레디스 기본 개념 (0) | 2026.01.16 |
|---|---|
| 1장 마이크로서비스 아키텍처와 레디스 (1) | 2026.01.16 |