server_admin
Redis Server Administration
Redis Server Course | Redis Technical Support | Redis Enterprise Server |
---|
Redis 서버 관리자가 알아야할 내용
Linux 커널 파라미터 설정
- 메모리 오버커밋을 1로 설정한다. overcommit_memory=1
- Transparent Huge Pages (THP)를 disable(never)로 설정한다.
- Max number of open files를 65536으로 설정한다.
- 위 커널 파라미터에 대한 설명과 설정 방법은 여기에 있습니다.
레디스 서버 파라미터 설정
- 기본 설정
- 로그 파일을 설정한다. default "" -> logfile "redis.log"
- Working directory를 설정한다. default ./ -> dir /redis/6000/
- 레디스 서버가 데몬(background)으로 실행되도록 설정한다.
default no -> daemonize yes - maxclients수를 예상 클라이언트 수를 고려해 설정한다.
default 10000 -> maxclients 1128 - 보안 설정
- bind IP를 설정한다. default 127.0.0.1 -> bind 192.168.1.100 127.0.0.1
- protected-mode를 설정한다. default yes
- 기본 포트 이외의 포트를 사용하자. default 6379 -> port 6000
- Persistence 설정
- save 설정을 disable(comment 처리)한다. save 900 1 -> # save 900 1
- AOF 설정을 enable한다. appendonly no -> yes, appendfsync everysec
- 복제 설정
- Replication backlog size 설정: default 1mb -> repl-backlog-size 50mb (10~100mb 사이로 설정한다)
메모리 관리
- 주기적으로 메모리 사용량을 관찰한다. 메모리가 부족하여 메모리 스와핑(Memory Swaping)이 발생하지 않도록 한다. 메모리 부족은 레디스 서버 성능에 치명적이다. 가능한 한 30% 정도 여유 메모리를 갖도록 서버를 운영한다. 시스템 메모리가 16gb면 레디스 서버가 12gb정도 사용하도록 한다.
- Maxmemory를 설정하는 것도 고려해 볼 수 있다. 예) maxmemory 12gb
CPU
- 레디스 서버는 CPU를 많이 사용하지 않는다. 그래도 어느 정도 사용하고 있는지 주기적으로 관찰한다.
Sentinel 관리자가 알아야할 내용
센티널 설정
- 레디스 서버 다운 인식 시간을 3~5초 사이로 설정한다. down-after-milliseconds 3000, default 30000
- 쿼럼(quorum)은 센티널 대수의 과반수로 한다. 센티널이 3대이면 2로 설정한다.
Redis 클러스터 관리자가 알아야할 내용
클러스터 설정
- 노드는 3대 이상 홀수로 구성한다.
- 클러스터 노드로 설정: cluster-enabled yes
- 클러스터 configuration 파일 설정: cluster-config-file nodes.conf
- 클러스터 노드 timeout 설정: cluster-node-timeout 3000, default 15000
- 일부 노드가 다운되어도 살아있는 노드는 사용할 수 있도록 설정: cluster-require-full-coverage no, default yes
Redis 서버 성능 분석
<< Server Specification | Server Admin | Server Monitor >> |
---|
조회수 :
Email
답글이 올라오면 이메일로 알려드리겠습니다.