Limpeza de revisão revision-cleanup
Introdução introduction
Cada atualização no repositório cria uma nova revisão de conteúdo. Como resultado, a cada atualização o tamanho do repositório aumenta. Para evitar o crescimento descontrolado do repositório, as revisões antigas precisam ser limpas para liberar recursos de disco. Essa funcionalidade de manutenção é chamada de Revisão de limpeza. Ele está disponível como uma rotina offline desde o AEM 6.0.
Com o AEM 6.3, uma versão online dessa funcionalidade chamada Limpeza de Revisão Online foi introduzida. Comparada à Limpeza de Revisão Offline, onde a instância de AEM deve ser encerrada, a Limpeza de Revisão Online pode ser executada enquanto a instância de AEM estiver online. A Limpeza de Revisão Online é ativada por padrão e é a maneira recomendada de executar uma limpeza de revisão.
Observação: Ver o vídeo para obter uma introdução e como usar a Limpeza de revisão online.
O processo de limpeza de revisão consiste em três fases: estimativa, compactação e limpar. A estimativa determina se a próxima fase (compactação) deve ser executada ou não com base na quantidade de lixo que pode ser coletada. Durante a fase de compactação, os segmentos e os arquivos tar são regravados, sem o conteúdo não utilizado. A fase de limpeza remove subsequentemente os segmentos antigos, incluindo qualquer lixo que eles possam conter. O modo offline geralmente pode recuperar mais espaço, pois o modo online precisa considerar AEM conjunto de trabalho que retém segmentos adicionais de serem coletados.
Para obter mais detalhes sobre a Limpeza de revisão, consulte os seguintes links:
Além disso, também é possível ler o documentação oficial do Oak.
Quando usar a Limpeza de Revisão Online em vez da Limpeza de Revisão Offline? when-to-use-online-revision-cleanup-as-opposed-to-offline-revision-cleanup
A Limpeza de Revisão Online é a maneira recomendada de executar a limpeza de revisão. A limpeza de Revisão Offline deve ser usada somente em uma base excepcional - por exemplo, antes de migrar para o novo formato de armazenamento ou se você for solicitado pelo Atendimento ao Cliente do Adobe a fazer isso.
Como executar a limpeza de revisão online how-to-run-online-revision-cleanup
A Limpeza de Revisão Online é configurada por padrão para ser executada automaticamente uma vez por dia nas instâncias de Autor e Publicação do AEM. Tudo o que você precisa fazer é definir a janela de manutenção durante um período com a menor atividade do usuário. Você pode configurar a tarefa Limpeza de Revisão Online da seguinte maneira:
-
Na janela principal do AEM, acesse Ferramentas - Operações - Painel - Manutenção ou aponte seu navegador para:
https://serveraddress:serverport/libs/granite/operations/content/maintenance.html
-
Passar o mouse Janela de manutenção diária e clique no botão Configurações ícone .
-
Insira os valores desejados (recorrência, hora de início, hora de término) e clique em Salvar.
Como alternativa, se você quiser executar a tarefa de limpeza de revisão manualmente, poderá:
-
Ir para Ferramentas - Operações - Painel - Manutenção ou navegue diretamente para
https://serveraddress:serverport/libs/granite/operations/content/maintenance.html
-
Clique no botão Janela de manutenção diária.
-
Passe o mouse sobre Limpeza de Revisão ícone .
-
Clique em Executar.
Executando a Limpeza de Revisão Online Após a Limpeza de Revisão Offline running-online-revision-cleanup-after-offline-revision-cleanup
O processo de limpeza de revisão recupera revisões antigas por gerações. Isso significa que cada vez que você executa a limpeza de revisão, uma nova geração é criada e mantida no disco. No entanto, há uma diferença entre os dois tipos de limpeza de revisão: a limpeza de revisão offline mantém uma geração, enquanto a limpeza de revisão online mantém duas gerações. Assim, quando você executa a limpeza de revisão online after limpeza de revisão offline acontece o seguinte:
- Depois que a primeira limpeza de revisão online for executada, o repositório terá o dobro de tamanho. Isso acontece porque agora há duas gerações que são mantidas em disco.
- Durante as execuções subsequentes, o repositório crescerá temporariamente enquanto a nova geração for criada e estabilizará de volta ao tamanho que teve após a primeira execução, já que o processo de limpeza de revisão online recupera a geração anterior.
Além disso, lembre-se de que, dependendo do tipo e do número de commits, cada geração pode variar em tamanho em comparação à anterior, de modo que o tamanho final pode variar de uma execução para outra.
Devido a esse fato, é recomendável dimensionar o disco pelo menos duas ou três vezes maior que o tamanho do repositório inicialmente estimado.
Modos De Compactação De Chaves E Chaves full-and-tail-compaction-modes
AEM 6.4 introduz dois novos modos para compactação fase do processo de Limpeza de Revisão Online:
- O compactação completa O modo reescreve todos os segmentos e arquivos tar em todo o repositório. A fase de limpeza subsequente pode, assim, remover a quantidade máxima de lixo no repositório. Como a compactação completa afeta todo o repositório, ela requer uma quantidade considerável de recursos do sistema e tempo para ser concluída. A compactação completa corresponde à fase de compactação no AEM 6.3.
- O compactação de cauda O modo regrava somente os segmentos e arquivos tar mais recentes no repositório. Os segmentos e arquivos tar mais recentes são os que foram adicionados desde a última execução da compactação completa ou de tail. A fase de limpeza subsequente só pode remover o lixo contido na parte recente do repositório. Como a compactação de cauda afeta apenas uma parte do repositório, ela requer consideravelmente menos recursos do sistema e tempo para concluir do que a compactação completa.
Estes modos de compactação constituem uma compensação entre eficiência e consumo de recursos: embora a compactação da cauda seja menos eficaz, também tem menos impacto no funcionamento normal do sistema. Pelo contrário, a compactação completa é mais eficaz, mas tem um impacto maior no funcionamento normal do sistema.
O AEM 6.4 também introduz um mecanismo de desduplicação de conteúdo mais eficiente durante a compactação, o que reduz ainda mais o espaço ocupado em disco pelo repositório.
Os dois gráficos a seguir apresentam resultados de testes laboratoriais internos que ilustram a redução dos tempos de execução médios e da pegada média no disco no AEM 6.4 em comparação com o AEM 6.3:
Como configurar a compactação completa e final how-to-configure-full-and-tail-compaction
A configuração padrão executa a compactação de cauda em dias da semana e a compactação completa nos domingos. A configuração padrão pode ser alterada usando o novo valor de configuração full.gc.days
do RevisionCleanupTask
tarefa de manutenção.
Ao configurar o full.gc.days
esteja ciente de que a compactação completa será executada durante os dias definidos na compactação de valor e tail será executada durante os dias que não estão definidos no valor. Por exemplo, se você configurar a compactação completa para ser executada no domingo, a compactação de cauda será executada de segunda a sábado. Por exemplo, se você configurar a compactação completa para ser executada todos os dias da semana, a compactação de cauda não será executada.
Além disso, tenha em consideração que:
- Compactação de cauda é menos eficaz e tem menos impacto nas operações normais do sistema. Destina-se, assim, a ser executado durante dias úteis.
- Compactação completa é mais eficaz, mas tem também um impacto maior nas operações normais do sistema. Destina-se, assim, a ser utilizado fora dos dias úteis.
- Tanto a compactação da cauda como a compactação completa devem ser programadas para serem executadas durante horários fora do horário de pico.
Resolução de problemas troubleshooting
Ao usar os novos modos de compactação, lembre-se do seguinte:
- Você pode monitorar a atividade de entrada/saída (E/S), por exemplo: Operações de E/S, CPU aguardando E/S, confirmar tamanho da fila. Isso ajuda a determinar se o sistema está se tornando vinculado à E/S e requer o redimensionamento.
- O
RevisionCleanupTaskHealthCheck
indica o status de integridade geral da Limpeza de Revisão Online. Funciona da mesma forma que no AEM 6.3 e não distingue entre compactação completa e de cauda. - As mensagens de log transmitem informações relevantes sobre os modos de compactação. Por exemplo, quando a Limpeza de Revisão Online é iniciada, as mensagens de log correspondentes indicam o modo de compactação. Além disso, em alguns casos, o sistema reverterá para compactação completa quando foi agendado para executar uma compactação de tail e as mensagens de log indicarão essa mudança. As amostras de log abaixo indicam o modo de compactação e a mudança de cauda para compactação completa:
TarMK GC: running tail compaction
TarMK GC: no base state available, running full compaction instead
Limitações conhecidas known-limitations
Em alguns casos, alternar entre a cauda e os modos de compactação completos atrasa o processo de limpeza. Mais precisamente, o repositório crescerá após uma compactação completa (dobrará de tamanho). O espaço extra será recuperado na compactação de cauda subsequente, quando o repositório cair abaixo do tamanho de compactação pré-completo. As execuções de tarefas de manutenção paralelas também devem ser evitadas.
Recomenda-se dimensionar o disco pelo menos duas ou três vezes maior que o tamanho do repositório inicialmente estimado.
Perguntas frequentes sobre limpeza de revisão online online-revision-cleanup-frequently-asked-questions
Considerações sobre a atualização do AEM 6.4 aem-upgrade-considerations
Migração para o Oak Segment Tar migrating-to-oak-segment-tar
Executando Limpeza de Revisão Online running-online-revision-cleanup
Monitoramento da Limpeza de Revisão Online monitoring-online-revision-cleanup
Solução de problemas de limpeza de revisão online troubleshooting-online-revision-cleanup
Solução De Problemas Com Base Em Mensagens De Erro troubleshooting-based-on-error-messages
O error.log será detalhado se houver incidentes durante o processo de limpeza de revisão online. A matriz a seguir tem como objetivo explicar as mensagens mais comuns e fornecer possíveis soluções:
Como executar a limpeza de revisão offline how-to-run-offline-revision-cleanup
-
Para versões do Oak 1.0.0 até 1.0.11 ou 1.1.0 até 1.1.6, use a versão Oak-run 1.0.11
-
Para versões do Oak mais recente do que o acima, use a versão do Oak-run que corresponde ao núcleo do Oak de sua instalação do AEM.
O Adobe fornece uma ferramenta chamada Oak-run para executar a limpeza de revisão. Ele pode ser baixado no seguinte local:
https://repo1.maven.org/maven2/org/apache/jackrabbit/oak-run/
A ferramenta é um jar executável que pode ser executado manualmente para compactar o repositório. O processo é chamado de limpeza de revisão offline porque o repositório precisa ser desligado para executar a ferramenta adequadamente. Certifique-se de planejar a limpeza de acordo com sua janela de manutenção.
Para obter dicas sobre como aumentar o desempenho do processo de limpeza, consulte Aumentar o desempenho da limpeza de revisão offline.
-
Sempre verifique se você tem um backup recente da instância de AEM.
Desligue AEM.
-
(Opcional) Use a ferramenta para encontrar pontos de verificação antigos:
code language-xml java -jar oak-run.jar checkpoints install-folder/crx-quickstart/repository/segmentstore
-
(Opcional) Em seguida, exclua os pontos de verificação não referenciados:
code language-xml java -jar oak-run.jar checkpoints install-folder/crx-quickstart/repository/segmentstore rm-unreferenced
-
Execute a compactação e aguarde até que ela seja concluída:
code language-xml java -jar -Dsun.arch.data.model=32 oak-run.jar compact install-folder/crx-quickstart/repository/segmentstore
Aumentar o desempenho da limpeza de revisão offline increasing-the-performance-of-offline-revision-cleanup
A ferramenta oak-run apresenta vários recursos que visam aumentar o desempenho do processo de limpeza de revisão e minimizar a janela de manutenção o máximo possível.
A lista inclui vários parâmetros de linha de comando, conforme descrito abaixo:
-
-mmap. Você pode definir isso como verdadeiro ou falso. Se definido como true, o acesso mapeado da memória será usado. Se definido como false, o acesso ao arquivo será usado. Se não especificado, o acesso mapeado à memória é usado em sistemas de 64 bits e o acesso a arquivos é usado em sistemas de 32 bits. No Windows, o acesso regular a arquivos é sempre aplicado e essa opção é ignorada. Esse parâmetro substituiu o parâmetro -Dtar.memoryMapped.
-
-Dupdate.limit. Define o limite para a liberação de uma transação temporária em disco. O valor padrão é 10000.
-
-Dcompress-range. Número de entradas do mapa de compactação a serem mantidas até compactar o mapa atual. O padrão é 1000000. Você deve aumentar esse valor para um número ainda mais alto para uma taxa de transferência mais rápida, se houver memória heap suficiente disponível. Esse parâmetro foi removido no Oak versão 1.6 e não tem efeito.
-
-Dcompaction-progress-log. O número de nós compactados que serão registrados em log. O valor padrão é 150000, o que significa que os primeiros 150000 nós compactados serão registrados durante a operação. Use isso junto com o próximo parâmetro documentado abaixo.
-
-Dtar.PersistCompactionMap. Defina esse parâmetro como true para usar espaço em disco em vez de memória heap para a persistência do mapa de compactação. Requer a ferramenta oak-run versões 1.4 e mais alto. Para mais pormenores, ver a pergunta 3 no Perguntas frequentes sobre limpeza de revisão offline seção. Esse parâmetro foi removido no Oak versão 1.6 e não tem efeito.
-
—força. Forçar compactação e ignorar uma versão de armazenamento de segmento não correspondente.
--force
O parâmetro atualizará o armazenamento de segmentos para a versão mais recente, que é incompatível com versões mais antigas do Oak. Além disso, considere que não é possível fazer downgrade. Como regra geral, você deve usar esses parâmetros com cautela e somente se tiver conhecimento sobre como usá-los.Um exemplo dos parâmetros em uso:
java -Dupdate.limit=10000 -Dcompaction-progress-log=150000 -Dlogback.configurationFile=logback.xml -Xmx8g -jar oak-run-*.jar checkpoints <repository>
Métodos adicionais para acionar a limpeza da revisão additional-methods-of-triggering-revision-cleanup
Além dos métodos apresentados acima, você também pode acionar o mecanismo de limpeza de revisão usando o console JMX da seguinte maneira:
- Abra o Console JMX acessando http://localhost:4502/system/console/jmx
- Clique no botão RevisionGarbageCollection MBean.
- Na próxima janela, clique em startRevisionGC() e depois Invocar para iniciar o trabalho de coleção de lixo de revisão.