Redis Persistence - AOF 다시쓰기(Rewrite) 알아보기
Redis Persistence - AOF 다시쓰기(Rewrite) 알아보기
이번 포스팅에서는 Redis Persistence - AOF 다시쓰기(Rewrite) 에 대해서 알아보도록 하겠습니다.
Redis 이전글 |
https://server-talk.tistory.com/471 - Redis - In-Memory - 알아보기
https://server-talk.tistory.com/472 - Redis - 서버 설치 및 기본설정 알아보기
https://server-talk.tistory.com/473 - Redis - Redis-cli 기본 사용법
https://server-talk.tistory.com/474 - Redis - Redis Desktop Manager Tool
https://server-talk.tistory.com/475 - phpredis 설치 알아보기
https://server-talk.tistory.com/489 - Redis - Persistence 란?
https://server-talk.tistory.com/490 - Redis Persistence - AOF 기본설정 알아보기
Redis Persistence - AOF 다시쓰기(Rewrite) 란? |
Redis의 AOF 기능은 모든 명령을 수행하고 파일에 기록되기 때문에 로그파일이 크기가 무한대로 커실수 있는 문제가 발생할 수 있습니다
이러한 문제를 미연에 방지하기 위한 기능인 AOF 에서 특정 시점에 전체 데이터를 다시쓰는 Rewrite 기능을 제공하는데 AOF의 Rewrtie 의 기능을 수행하고 나면 여러번 반복된 이전 데이터는 사라지며 최종 데이터의 기록만 남게 되어 로그파일의 크기를 많이 줄일 수 있게 됩니다.
Redis Persistence - AOF 다시쓰기(Rewrite) 수동실행 |
명령어 : BGREWRITEAOF
127.0.0.1:6379> BGREWRITEAOF
Background append only file rewriting started
redis-cli 에서 BGREWRITEAOF 명령을 실행하면 AOF Rewrite 가 백그라운드로 실행됩니다.
# tail -f /var/log/redis/redis-server.log
149050:M 08 Jun 2022 17:20:42.708 * Background append only file rewriting started by pid 149254
149050:M 08 Jun 2022 17:20:42.801 * AOF rewrite child asks to stop sending diffs.
149254:C 08 Jun 2022 17:20:42.802 * Parent agreed to stop sending diffs. Finalizing AOF...
149254:C 08 Jun 2022 17:20:42.802 * Concatenating 0.00 MB of AOF diff received from parent.
149254:C 08 Jun 2022 17:20:42.803 * SYNC append only file rewrite performed
149254:C 08 Jun 2022 17:20:42.805 * AOF rewrite: 0 MB of memory used by copy-on-write
149050:M 08 Jun 2022 17:20:42.895 * Background AOF rewrite terminated with success
149050:M 08 Jun 2022 17:20:42.895 * Residual parent diff successfully flushed to the rewritten AOF (0.00 MB)
149050:M 08 Jun 2022 17:20:42.895 * Background AOF rewrite finished successfully
AOF Rewrite 수동으로 실행할 위와 같은 메세지가 표시되며 마지막 메세지의 "Background AOF rewrite finished successfully'로 메세지가 나와야 정상적으로 완료된것 입니다.
Redis Persistence - AOF 다시쓰기(Rewrite) 자동실행 |
1. AOF 다시쓰기(Rewrite) - %설정
사용법 : auto-aof-rewrite-percentage [1-100]
auto-aof-rewrite-percentage 100
AOF 파일의 크기가 100% 이상이면 다시쓰기(Rewrite)를 실행하는 설정입니다.
2. AOF 다시쓰기(Rewrite) - 파일크기 설정
사용법 : auto-aof-rewrite-min-size [Size]
auto-aof-rewrite-percentage 64mb
AOF 파일의 크기가 64mb로 이상이면 다시쓰기(Rewrite)를 실행하는 설정입니다.
3. AOF 다시쓰기(Rewrite) - 시간 설정
사용법 : auto-aof-rewrite-percentage [Time]
auto-aof-rewrite-percentage 03:00
시간을 지정하여 다시쓰기(Rewrite)를 실행하는 설정 입니다.