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)를 실행하는 설정 입니다.

    Posted by 서버이야기