Redis REPL-TIMEOUT Parameter

Redis Server Course Redis Technical Support Redis Enterprise Server

Redis repl-timeout parameter

레디스 설정 파일인 redis.conf 에 있는 repl-timeout 파라미터에 대한 설명입니다.
이 문서는 레디스 서버 버전 5.0.2을 기준으로 만들었습니다.

설명

이것은 마스터 서버와 복제 서버간에 연결이 끊겼다고 인식하는 시간입니다. 마스터 서버와 복제 서버 관점으로 구분할 필요가 있습니다.
마스터 서버 관점
마스터 서버는 1초마다 replconf 명령을 복제 서버로 보냅니다. 이에 대한 응답(ack)이 timemout 시간 동안 없으면 마스터는 복제 서버에 대한 연결을 해제하고 정보를 지웁니다.
이것은 info replication 명령으로 확인할 수 있습니다.
127.0.0.1:5002> info replication
# Replication
role:master
connected_slaves:1
slave0:ip=5.5.5.5,port=2002,state=online,offset=4174,lag=0
평상시에는 마지막 항목인 lag가 0 또는 1입니다. 복제 서버로 부터 Ack 응답이 오지 않으면 그 시간 만큼 lag 숫자가 증가합니다. lag가 timeout을 초과하면 마스터 서버는 복제 서버 정보를 지웁니다.
복제 서버 관점
복제 서버는 마스터에 repl-ping-replica-period 간격으로 ping을 보내는데 timeout 시간 동안 응답이 없거나 마스터로 부터 timeout 시간 동안 데이터가 오지 않으면 마스터와의 연결이 다운된 것으로 인식합니다. master_last_io_seconds_ago가 마스터로 부터 응답을 받지 못한 시간입니다.
127.0.0.1:5003> info replication
# Replication
role:slave
master_host:192.168.56.102
master_port:5002
master_link_status:up
master_last_io_seconds_ago:28
Timeout 시간이 초과되서 연결 다운되었을 때
127.0.0.1:5003> info replication
# Replication
role:slave
master_host:192.168.56.102
master_port:5002
master_link_status:down
master_last_io_seconds_ago:-1
master_link_down_since_seconds:6
복제 서버 관점에서 timeout은 replica-serve-stale-data의 기준입니다.

사용 방법

repl-timeout 60

<< REPL-BACKLOG-SIZE REPL-DISABLE-TCP-NODELAY >>

조회수 :

Email 답글이 올라오면 이메일로 알려드리겠습니다.