Redis Server Administration

<< Server Specification Info Hits, Misses >>

Redis 서버 관리자가 알아야할 내용

Linux 커널 파라미터 설정

레디스 서버 파라미터 설정

  • 기본 설정
    • 로그 파일을 설정한다. 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 서버 성능 분석

  • 명령 실행 시간을 분석 도구: SLOWLOG
  • AOF, fork, expire 등 Redis 서버 내부 성능 분석 도구: LATENCY
  • 서버 상태 정보를 얻으려면 INFO 명령을 활용하세요.
  • 서버 메모리 정보를 얻으려면 MEMORY 명령을 활용하세요.



<< Server Specification Server Admin Info Hits, Misses >>

질문하거나 댓글을 보려면 클릭하세요.  댓글수 :    조회수 :

Email 返事がかかってなれば、メールでお知らせします。