Redis 서비스 설정과 메모리·클라이언트 한도 점검하기

목차

Redis 기본 설정 중 서비스 실행·메모리 회수·클라이언트 연결 한도를 정리했습니다. 영속성·ACL은 별도 매뉴얼에서 다룹니다. 원노트의 모든 튜닝 값을 일괄 적용하기보다 실제 오류와 자원 사용량을 기준으로 선택합니다.

패키지 서비스와 설정 경로

TERMINAL / CONFIG
systemctl cat redis
systemctl show redis -p User -p Group -p LimitNOFILE
redis-server --version

실제 설정 파일과 서비스 계정을 확인합니다. systemd가 전경 실행을 기대하는 유닛에서 daemonize만 yes로 바꾸면 기동 감지가 어긋날 수 있습니다. 패키지 유닛을 유지하고 필요한 변경은 drop-in으로 관리합니다.

바인딩과 인증

로컬 앱 전용이라면 loopback으로 제한하고 원격 사용은 관리망 주소·인증·방화벽·TLS 요구에 맞춰 설계합니다. 포트만 바꾸는 것은 인증을 대신하지 않습니다.

TERMINAL / CONFIG
bind 127.0.0.1
port 16379
protected-mode yes

메모리 상한과 정책

maxmemory는 Redis가 데이터 처리에 사용할 메모리의 상한이며 프로세스의 모든 메모리·버퍼·fork 추가 사용량을 완전히 제한하는 값이 아닙니다. 예시는 메모리 1GiB와 쓰기 거부 정책입니다.

TERMINAL / CONFIG
maxmemory 1gb
maxmemory-policy noeviction

캐시라면 allkeys-lru·allkeys-lfu 같은 회수 정책을 검토할 수 있지만 지속 데이터에 그대로 적용하면 키가 사라질 수 있습니다. volatile 계열은 만료 시간이 있는 키만 대상으로 합니다. 정책에 따른 애플리케이션 오류와 데이터 손실 허용 범위를 먼저 정합니다.

연결 한도와 실측

TERMINAL / CONFIG
redis-cli --user lieper --askpass -p 16379 INFO clients
redis-cli --user lieper --askpass -p 16379 INFO memory

connected_clients·blocked_clients·maxclients를 확인하고 연결 풀 설정과 비교합니다. 복제·Cluster 버스 소켓과 OS 파일 한도도 영향을 줍니다. io-threads나 lazyfree 옵션은 버전별 동작과 부하를 측정한 후 조정하며 코어 수만 보고 고정값을 적용하지 않습니다.

DB › Redis
Redis 목록