Limpeza de revisão revision-cleanup
Introdução introduction
Cada atualização no repositório cria uma revisão de conteúdo. Como resultado, a cada atualização, o tamanho do repositório aumenta. As revisões antigas devem ser limpas para liberar recursos de disco - isso é importante para evitar o crescimento descontrolado do repositório. Essa funcionalidade de manutenção é chamada de Limpeza de revisão. Ele está disponível como uma rotina offline desde o Adobe Experience Manager (AEM) 6.0.
Com o AEM 6.3 e superior, uma versão online dessa funcionalidade chamada Limpeza de revisão online foi introduzida. Comparada à Limpeza de revisão offline, em que a instância de AEM precisa ser desligada, a Limpeza de revisão online pode ser executada enquanto a instância de AEM está online. A Limpeza de revisão online está ativada por padrão e é a maneira recomendada de executar uma limpeza de revisão.
Observação: Consulte o Vídeo para obter uma introdução e saber como usar a Limpeza de Revisão Online.
O processo de limpeza de revisão consiste em três fases: estimativa, compactação e limpeza. A estimativa determina se a próxima fase (compactação) será executada ou não com base na quantidade de lixo que pode ser coletada. Durante a fase de compactação, os segmentos e arquivos tar são regravados, eliminando qualquer conteúdo não utilizado. A fase de limpeza remove os segmentos antigos, incluindo qualquer lixo que eles possam conter. O modo offline geralmente pode recuperar mais espaço porque o modo online deve levar em conta o conjunto de trabalho AEM que impede que segmentos adicionais sejam coletados.
Para obter mais detalhes sobre a Limpeza de revisão, consulte os seguintes links:
Você também pode ler a 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 da 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 fazê-lo.
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 do AEM Author e do Publish. Tudo o que você precisa fazer é definir a janela de manutenção durante um período com menos atividade do usuário. Você pode configurar a tarefa Limpeza de revisão on-line da seguinte maneira:
-
Na janela principal do AEM, vá para Ferramentas - Operações - Painel - Manutenção ou aponte seu navegador para:
https://serveraddress:serverport/libs/granite/operations/content/maintenance.html
-
Passe o mouse sobre Janela de manutenção diária e clique no ícone Configurações.
-
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, é possível:
-
Vá para Ferramentas - Operações - Painel - Manutenção ou navegue diretamente para
https://serveraddress:serverport/libs/granite/operations/content/maintenance.html
-
Clique na Janela de manutenção diária.
-
Passe o mouse sobre o ícone Limpeza de revisão.
-
Clique em Executar.
Execução de 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. Há uma diferença, no entanto, 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 após a limpeza de revisão offline, ocorre o seguinte:
- Após a primeira execução de limpeza de revisão online, o tamanho do repositório dobra. Isso acontece porque agora há duas gerações que são mantidas no disco.
- Durante as execuções subsequentes, o repositório crescerá temporariamente enquanto a nova geração é criada e, em seguida, se estabilizará de volta ao tamanho que tinha após a primeira execução, à medida que o processo de limpeza da revisão online recupera a geração anterior.
Além disso, lembre-se de que, dependendo do tipo e do número de confirmações, cada geração pode variar de tamanho em comparação à anterior, de modo que o tamanho final pode variar de uma execução para a outra.
Devido a esse fato, é recomendável dimensionar o disco pelo menos duas ou três vezes maior que o tamanho estimado do repositório inicialmente.
Modos De Compactação Total E Final full-and-tail-compaction-modes
O AEM 6.5 apresenta dois novos modos para a fase compactação do processo de Limpeza de Revisão Online:
- O modo compactação completa reescreve todos os segmentos e arquivos tar em todo o repositório. A fase de limpeza subsequente pode remover a quantidade máxima de lixo no repositório. Como a compactação total 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 modo tail compaction substitui somente os segmentos e arquivos tar mais recentes no repositório. Os segmentos e arquivos tar mais recentes são aqueles que foram adicionados desde a última vez que a compactação completa ou traseira foi executada. A fase subsequente de limpeza só pode remover o lixo contido na parte recente do repositório. Como a compactação traseira afeta apenas uma parte do repositório, ela requer consideravelmente menos recursos do sistema e tempo para ser concluída do que a compactação completa.
Estes modos de compactação constituem um compromisso entre a eficiência e o consumo de recursos: embora a compactação traseira seja menos eficaz, ela também tem menos impacto no funcionamento normal do sistema. Por outro lado, a compactação total é mais eficaz, mas tem um impacto maior na operação normal do sistema.
O AEM 6.5 também introduz um mecanismo mais eficiente de desduplicação de conteúdo durante a compactação, o que reduz ainda mais o espaço em disco do repositório.
Os dois gráficos abaixo apresentam resultados de testes laboratoriais internos que ilustram a redução do tempo médio de execução e o impacto médio no disco do AEM 6.5 em comparação com o AEM 6.3:
Como configurar a compactação completa e traseira how-to-configure-full-and-tail-compaction
A configuração padrão executa a compactação traseira em dias da semana e a compactação completa aos domingos. A configuração padrão pode ser alterada usando o novo valor de configuração full.gc.days
da RevisionCleanupTask
tarefa de manutenção.
Ao configurar o valor full.gc.days
, a compactação completa é executada durante os dias definidos no valor e a compactação final é executada durante os dias que não estão definidos no valor. Por exemplo, se você configurar a compactação total para ser executada no domingo, a compactação traseira 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 traseira não será executada.
Além disso, considere que:
- A compactação traseira é menos eficaz e tem menos impacto nas operações normais do sistema. Assim, ele deve ser executado durante dias úteis.
- A compactação completa é mais eficaz, mas também tem um impacto maior nas operações normais do sistema. Por conseguinte, destina-se a ser utilizado fora dos dias úteis.
- A compactação traseira e a compactação completa devem ser agendadas para serem executadas 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, tamanho da fila de confirmação. Isso ajuda a determinar se o sistema está se tornando vinculado à E/S e requer upsizing.
- 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 total e de cauda. - As mensagens de log trazem 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 de exceção, o sistema reverte para a compactação completa quando foi programado para executar uma compactação traseira e as mensagens de log indicam essa alteração. As amostras de log abaixo indicam o modo de compactação e a mudança da cauda para a compactação completa:
TarMK GC: running tail compaction
TarMK GC: no base state available, running full compaction instead
Limitações conhecidas known-limitations
Às vezes, a alternância entre os modos cauda e compactação total atrasa o processo de limpeza. Mais precisamente, o repositório crescerá após uma compactação completa (ele dobra de tamanho). O espaço extra é recuperado na compactação traseira subsequente, quando o repositório cai abaixo do tamanho da compactação pré-cheia. As execuções de tarefas de manutenção paralelas também devem ser evitadas.
É recomendável dimensionar o disco pelo menos duas ou três vezes maior que o tamanho do repositório estimado inicialmente.
Perguntas frequentes sobre limpeza de revisão online online-revision-cleanup-frequently-asked-questions
Considerações sobre a atualização do AEM 6.5 aem-upgrade-considerations
Migrar para a TAR de segmentos do Oak migrating-to-oak-segment-tar
Executando a Limpeza de Revisão Online running-online-revision-cleanup
Monitorar 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 Baseada 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
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 deve ser desligado para executar a ferramenta corretamente. Certifique-se de planejar a limpeza de acordo com a janela de manutenção.
Para obter dicas sobre como aumentar o desempenho do processo de limpeza, consulte Aumentando o desempenho da limpeza de revisão offline.
-
Verifique sempre se você tem um backup recente da instância do AEM.
Desligue o AEM.
-
(Opcional) Use a ferramenta para localizar 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 como verdadeiro ou falso. Se definido como verdadeiro, o acesso com mapeamento de memória será usado. Se definido como falso, o acesso a arquivos 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. Este parâmetro substituiu o parâmetro -Dtar.memoryMapped.
-
-Dupdate.limit. Define o limite para a liberação de uma transação temporária para o disco. O valor padrão é 10000.
-
-Descompactar-intervalo. Número de entradas do mapa de compactação a serem mantidas até a compactação do mapa atual. O padrão é 1000000. Você deve aumentar esse valor para um número ainda maior para um rendimento mais rápido, se houver memória heap suficiente disponível. Este parâmetro foi removido na versão 1.6 do Oak e não tem efeito.
-
-Dcompaction-progress-log. O número de nós compactados registrados. O valor padrão é 150000, o que significa que os primeiros 150000 nós compactados são registrados durante a operação. Use isso com o próximo parâmetro documentado abaixo.
-
-Dtar.PersistCompactionMap. Defina este parâmetro como true para usar espaço em disco, em vez de memória heap para persistência do mapa de compactação. Requer a ferramenta oak-run versões 1.4 e superior. Para obter mais detalhes, consulte a pergunta 3 na seção Perguntas frequentes sobre limpeza de revisão offline. Este parâmetro foi removido na versão 1.6 do Oak e não tem efeito.
-
—forçar. Forçar compactação e ignorar uma versão de repositório de segmentos não correspondente.
--force
atualiza o armazenamento de segmento para a versão mais recente, o que é incompatível com versões mais antigas do Oak. Além disso, considere que nenhum downgrade é possível. Geralmente, você deve usar esses parâmetros com cuidado 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 de acionamento da limpeza de 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 RevisionGarbageCollection MBean.
- Na próxima janela, clique em startRevisionGC() e em Invoke para iniciar o trabalho de Coleta de Lixo de Revisão.