[Redis] Tuning - 간단한 튜닝을 해보자!

728x90
반응형
SMALL

Tuning 항목

overcommit_memory

  • 가상 메모리 사용 관련 커널 파라미터
  • 레디스 서버는 메모리 데이터베이스이기 때문에 1로 설정할 것을 권장
  • vm.overcommit_memory = 1

transparent huge pages

  • 대량 메모리를 할당하기 위해서 거대 페이지를 사용한다. 부팅 시 할당 필요.
  • 레디스에서는 필요에 따라 자식 프로세스를 생성해서 데이터를 디스크에 저장하는데 이때 메모리 복제가 발생하면, Huga pages는 메모리를 많이 사용하는 요인이 되고, 성능을 느리게 만든다.
  • transparent_hugepage disabled

 

max numbers of open files

  • max number of open files default (1,000,000)

 

maxclients

  • maxclient default (10,000)

 

loglevel

  • loglevel notice

 

logfile

  • 로그 파일명
  • 레디스 서버를 데몬(background)으로 실행하는 경우 필수
  • logfile {"log file path"}

 

supervised

  • supervised systemd

 

daemonize

  • 레디스 서버를 데몬으로 실행하도록 설정
  • daemonize yes

dir

  • working directory
  • dir {"working directory path"}

 

pid

  • process ID 경로 및 파일명
  • pidfile {pid file path}

 

bind

  • bind IP 설정
  • bind {IP}

 

protected-mode

  • 보안 접속 설정, bind로 지정한 IP로만 접속할 수 있다.
  • protected-mode yes

 

port

  • port 설정
  • prot {port}

 

maxmemory

  • 레디스는 CPU를 많이 사용하지 않는다
  • 메모리가 부족하여 스와핑이 발생하지 않도록 한다.
  • 가능한 30% 정도 여유 메모리를 갖도록  운영 필요 ( 시스템 메모리가 16g면 레디스 서버가 12g 정도 사용하도록 설정)
  • maxmemory {gb}

 

cluster-enabled

  • cluster mode 사용 여부
  • cluster-enabled yes

cluster-config-file

  • cluster 설정 정보 파일 경로 및 파일명
  • cluster-config-file {config file path, file name}

 

cluster-node-timeout

  • cluster node가 다운되었는지 판단하는 시간
  • cluster-node-timeout 3000

 

cluster-require-full-coverage

  • 일부 노드가 다운되어도 살아있는 노드는 사용할 수 있도록 설정
  • cluster-require-full-coverage yes

 

추가로 aof, rdb 등 사용 시 별도 설정이 필요하다. 

하지만 Redis를 In-Memory Cache 용도로만 쓰려고 하기에 AOF, RDB 설정은 추가하지 않았다.

728x90
반응형
LIST