Por que meu arquivo de backup do Redis (.rdb) é sempre menor do que a métrica BytesUsedForCache no cluster do ElastiCache?

2 minuto de leitura
0

Estou usando o Amazon ElastiCache para Redis. Por que meu arquivo de backup do Redis (.rdb) é sempre menor do que a métrica BytesUsedForCache no cluster?

Resolução

A métrica BytesUsedForCache inclui bytes para todos os fins. Isso inclui o tamanho real da chave, cabeçalhos e fragmentação de memória. As chaves expiradas também consomem memória até que o Redis as remova de forma assíncrona, passiva ou ativamente. Para mais informações, consulte Expirar segundos de chaves: Como o Redis espira chaves no site Redis.io.

O ElastiCache usa processos de backup bifurcados e sem bifurcação. Ambos os processos despejam todas as chaves no disco para criar o arquivo .rdb. O arquivo .rdb não usa ponteiros ou chaves expiradas e não lida com fragmentação de memória, metadados ou buffers. Isso significa que os arquivos de backup são menores do que a métrica BytesUsedForCache.

Por exemplo, seu cluster do Redis pode mostrar BytesUsedforCache como 15 GiB. Também pode mostrar que o backup foi iniciado durante um período de solicitações pesadas de leitura/gravação no cluster. Depois que o processo de backup estiver concluído, o tamanho do cache de backup poderá estar entre 10 GiB e 12 GiB, em vez de 15 GiB. Isso ocorre porque o backup não contém chaves expiradas, ponteiros e assim por diante.

Observação:

  • O tamanho do cache nos backups do ElastiCache é derivado de used_memory do Redis no momento da criação do snapshot. Essa é uma estimativa do tamanho do cache não compactado. Se você exportar um snapshot de backup para o Amazon Simple Storage Service (Amazon S3), o tamanho do arquivo serializado compactado será exportado.
  • Você pode verificar a integridade dos dados do backup usando o comando info keyspace ou DBSIZE. Compare o número de chaves no cluster original e no cluster restaurado do RDB. Certifique-se de que nenhuma ação de inserção, exclusão ou remoção de chaves tenha ocorrido entre a criação e a restauração do snapshot. Para mais informações, consulte Por que minha réplica tem um número de chaves diferente de sua instância principal? nas perguntas frequentes do Redis.

Informações relacionadas

Backup e restauração do ElastiCache para Redis

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos