Redis에 메모리가 부족하면 어떻게 됩니까?
OOM 킬러에 의해 프로세스가 종료되거나 오류로 인해 충돌 및 속도가 느려지기 시작합니다.
키가 없을 경우 3MB의 메모리 사용량이 발생 됩니다.
1백만 개의 키 일 경우 대략 85MB ~ 100MB 의 메모리 사용량이 나타납니다.
키는 DB_Size(Keys)로 확인 가능합니다.
CLI 창에서 info memory 입력 시 Redis 메모리 사용률 과
총 시스템 메모리를 확인하실 수 있습니다.
가능한 한 30% 정도 여유 메모리를 갖도록 서버를 운영 해야합니다.
시스템 메모리가 16gb면 Redis 서버가 최대 12gb정도 사용 하도록 합니다.
1. Maxmemory : 메모리 사용량 제한
maxmemory
redis에서 사용할 수 있는 최대 메모리를 값을 설정해줍니다.
redis.config 또는 Configuration에서 설정 가능합니다.
ex) maxmemory 1gb
논리적으로 사용되고 있는 메모리의 크기가 maxmemory보다 커지는 경우
메모리 정책(Memory-policy)에 따라 아래 방식처럼 처리됩니다.
1. 메모리 정책이 설정되어 있지 않은 경우, 에러가 발생한다.
2. 메모리 정책이 설정되어 있는 경우, 값이 추가될 때마다 메모리 정책에 따라 데이터가 삭제된다.
2. Maxmemory-policy : 메모리 정책
max-memory만큼 메모리를 사용하게 되면, 메모리 정책에 따라 과거에 만들어진 키들이 삭제됩니다.
redis.config 또는 Configuration에서 설정 가능합니다.
ex) maxmemory-policy allkeys-lru
옵션 | 설명 |
volatile-lru |
만료 시간이 있는 키 중 최근에 사용하지 않은 키를 제거 하여 공간을 확보 합니다. |
volatile-ttl |
만료 시간이 있는 키 중 수명이 짧은 키를 제거 하여 공간을 확보 합니다. |
allkey-lru |
모든 키를 대상으로 최근에 사용하지 않은 키를 제거 합니다. |
allkeys-random |
모든 키를 대상으로 임의로 키를 제거합니다. |
noeviction (default) | 기존 데이터 삭제 안함. 오류가 반환 됩니다. |
'OS > Linux' 카테고리의 다른 글
Openvpn 계정 생성 및 삭제 방법 (0) | 2021.10.18 |
---|---|
OpenVPN 접속 오류 리스트 (0) | 2021.10.18 |
Redmine 재시작 (0) | 2021.10.18 |
[Nagios core] NCPA 플러그인 설치 (0) | 2021.08.24 |
LINKDING - docker로 github 소스 받아오기 (node.js 12, php7.3 설치하기) (0) | 2021.08.24 |