이 문서는 다음의 글을 번역한 것입니다. “Missing” Keys on Redis Slaves 레디스 슬레이브에서 “놓쳐버린” 키들. 만약 당신이 레디스(Redis)에서 만료중인 키를(expiring key)(“임시적인 키”로 알려진) 사용하고 있다면, 당신은 레디스 마스터에서 새로운 슬레이브(Slave)를 붙였을때에 놀랄 수도 있습니다. 슬레이브에서 키 갯수(key count)가 마스터에서 키 갯수보다 약 25%정도 낮을 것입니다. 이것은 임시적인 키(volatile key)가 아주 많다면 특별하게도 정상적인 것입니다. 레디스 슬레이브가 키를 놓쳐버린 걸까? 단순하게 데이터를 잃어버린 걸까? 결론부터 말하자면 “아니오” 입니다. 그러나, 왜그런지 이해하길 희망하면서, 레디스 슬레이브가 어떠한 데이터도 잃어버리지도 않았는데도 더 적은 키 […]
Database, Redis
Redis 운영에 필요한 잡지식들.
Redis 는 In memory 기반으로 동작하기 때문에 메모리 관리가 매우 중요한데, 먼저 리눅스에 메모리 관리를 Redis 운영에 적합하도록 설정하는 것이 좋다. 먼저 Redis 는 Swap 을 사용하지 않고 물리 메모리 내에서만 운영하는 환경이다.
1 2 3 4 5 |
vm.overcommit=2 vm.overcommit_ratio=99 vm.swappiness=0 echo never > /sys/kernel/mm/transparent_hugepage/enabled |
가상 메모리 overcommit 에 대해서 2 로 설정하는 것이 좋다. 2로 설정하게 되면 리눅스가 사용가능한 메모리는 다음과 같이 계산한다.
1 |
swap + (physical memory * overcommit_ratio) |
예를들어 32GB 물리 메모리를 가지고 있고 overcommit_ratio 가 50%라면 16GB 물리 메모리만 사용하게 된다. 그래서 overcommit_ratio 를 99% 로 설정을하면 모든 메모리를 사용하게 된다. swappiness 는 […]
Database, Redis
Redis 설치하기
Redis 는 Key-Value 로 데이터를 저장하는 NoSQL 서버 입니다. In Memory 기반으로 동작하기 때문에 빠른 응답속도를 보입니다. 이 문서는 Redis 설치에 관한 문서 입니다. 다운로드
1 |
wget http://download.redis.io/releases/redis-2.8.19.tar.gz |
의존성 패키지 설치 CentOS 의 경우에는 다음과 같이 설치를 해줍니다.
1 2 3 |
yum install gcc.x86_64 gcc-c++.x86_64 wget.x86_64 bzip2-devel.x86_64 pkgconfig.x86_64 openssl-devel.x86_64 make.x86_64 man.x86_64 nasm.x86_64 gmp.x86_64 gdbm-devel.x86_64 readline-devel.x86_64 compat-readline43.x86_64 ncurses-devel.x86_64 db4-devel.x86_64 automake* autoconf* pcre-devel.x86_64 -y yum install tcl-devel.x86_64 tcl.x86_64 |
Ubuntu 의 경우에는 다음과 같이 설치를 해줍니다.
1 2 3 |
sudo apt-get install build-essential sudo apt-get install tcl8.5 |
컴파일
1 |
make |
설치 설치는 PREFIX 를 인자로 줘서 설치 디렉토리 위치를 지정해줄 수 있습니다.
1 |
make install PREFIX=/usr/local/redis |
Redis 의 설치는 오로지 실행파일들만 복사해 줍니다. 설정 Redis 는 설치 후에 각종 설정을 할 수 있도록 스크립트를 지원 […]