Problemas de AEM críticos comuns

Descrição

Este artigo descreve os problemas críticos mais comuns e como analisá-los.

  • Desempenho do AEM Sites
  • Desempenho do AEM Assets
  • Problemas de memória
  • Problemas de indexação
  • Problemas de replicação
  • Problemas de corrupção do TarMK

Resolução

Problemas de desempenho do AEM Sites

Sintomas de um problema de desempenho

  1. Carregamento lento de páginas
  2. Criação ou edição lenta de páginas
  3. Os tempos de resposta AEM são lentos
  4. AEM não está respondendo para algumas solicitações
  5. O request.log no AEM mostra tempos de resposta lentos

O que causa problemas de desempenho

  1. Contenção de encadeamento - solicitações de execução longa, como pesquisas lentas, trabalhos em segundo plano com gravação pesada, movimentação de ramos inteiros do conteúdo do site etc.
  2. Alta utilização da CPU
  3. Solicitações caras, como pesquisas caras ou código de aplicativo ineficiente, componentes, etc.
  4. Falta de manutenção adequada
  5. Cache insuficiente do dispatcher
  6. Falta de CDN
  7. Falta de armazenamento em cache do navegador
  8. Muitos scripts carregados na página e no topo da página
  9. CSS carregado em toda a página em vez de no HTML
  10. Tamanho insuficiente do servidor ou arquitetura incorreta
  11. Problemas de memória (veja abaixo)

Como analisar o problema de desempenho

1. Capturar uma série de despejos de encadeamento e analisá-los

  1. Verifique no nível do sistema operacional se a AEM java o processo está causando alto uso da CPU

    Linux: use o comando top para verificar a utilização da CPU.

    Windows: use o Windows Gerenciador de tarefas

    Se AEM estiver causando alto uso da CPU, execute a ferramenta de criação de perfis pronta para uso por alguns minutos e analise o resultado.

1. Analise o arquivo request.log para qualquer solicitação lenta

  1. Revise os procedimentos de manutenção do sistema e verifique se você está fazendo a manutenção correta no AEM, incluindo o seguinte:

    • Revisão de limpeza (somente MongoMK e Database DocumentNodeStore) - diariamente ou com mais frequência
    • Compactação de Tar offline (somente TarMK) - quinzenal
    • Coleta de lixo do armazenamento de dados (somente com FileDataStore ou S3 DataStore) - semanalmente
    • Limpeza de fluxo de trabalho - semanalmente
    • Limpeza de versão - semanalmente
    • Limpeza de AuditLog - semanalmente

    Consulte este artigo para obter mais detalhes sobre AEM manutenção.

  2. Analise as estratégias de armazenamento em cache implementadas no AEM nível do dispatcher.

  3. Revise o armazenamento em cache.

  4. Use ferramentas de análise de site do lado do cliente, como a Auditorias em Google Chrome navegador Ferramentas do desenvolvedor painel.  Essas ferramentas fornecerão recomendações sobre as melhorias de desempenho do lado do cliente.

Soluções para problemas comuns de desempenho

Problemas de desempenho do AEM Assets

Sintomas de um Assets problema de desempenho

  • Fazer upload lento de arquivos para /assets.html ou /damadmin interface
  • Miniaturas estão demorando muito para serem geradas
  • Operações de ativos, como mover, excluir, editar e atualização de metadados demoram muito

O que causa problemas com o Assets desempenho

  • Falta de manutenção adequada
  • Pacotes de correções mais recentes não aplicados
  • Otimizações não aplicadas
  • Tamanho inadequado do servidor para a carga do usuário

Como analisar o Assets problema de desempenho

Soluções para o comum Assets problemas de desempenho

Problemas de memória

Sintomas de um problema de memória

  • AEM falha aleatoriamente e nos logs OutOfMemoryError é observado
  • AEM fica mais lento com o tempo e eventualmente falha
  • AEM não responde

Identificação de um problema de memória

  • Procure nos arquivos de log por OutOfMemoryError. Se você encontrar correspondências, então você tem um problema de memória

  • Revise o http://aem-host:port/system/console/memoryusage screen

    Se o uso de "Geração Antiga" (JDK 7 e anterior) ou "Geração com Garantia" (JDK8 ou posterior) estiver alto, isso pode ser um sinal de um problema de utilização da memória heap.  Clique em "Run Garbage Collector" para solicitar que a JVM execute uma coleta de lixo de heap completa.  Se a alta utilização de heap continuar alta após a solicitação do GC, provavelmente haverá um problema.  Em uma instância AEM com o armazenamento Oak Tar, se o uso tenured for maior que 3 GB, pode haver um problema.  A alta utilização de heap em um sistema com armazenamento Mongo pode ser devido à configuração do cache na memória.

  • Pegue despejos de encadeamento e saída superior e análise de encadeamento.  Verifique se os encadeamentos que causam alto uso da CPU são encadeamentos nativos da coleção de lixo da JVM.  Se o thread que usa o maior tempo de CPU for o "VM Thread" ou qualquer thread de coleta de lixo, provavelmente haverá um problema de memória.

O que causa problemas de memória?

  • Java vazamento de memória do aplicativo
  • Java O finalizador se acumula devido ao uso incorreto da finalização no código personalizado
  • Configuração de heap máximo insuficiente

Como analisar a causa do seu problema de memória

Consulte este artigo para obter detalhes sobre como capturar um despejo de heap.

A melhor maneira de identificar a causa de um problema de memória é analisar um despejo de heap.

Depois de capturar um arquivo Heap Dump, abra-o em Eclipse MAT ou Analisador de memória IBM ferramenta.  Em Eclipse MAT, execute o relatório Suspeitos de vazamento e abra a visualização "Detalhes do encadeamento" para ver as possíveis causas do problema de memória.

Soluções para problemas comuns de memória

  • Otimize seu código de aplicativo para utilizar menos memória, se você observar longas pausas de coleta de lixo.  A maioria dos problemas de coleta de lixo pode ser melhor resolvida otimizando o aplicativo em vez de ajustar a JVM.
  • Se você já tiver otimizado seu aplicativo e ainda passar por longas pausas de GC, foco no ajuste da JVM.

Problemas de indexação de AEM

Sintomas de problemas de indexação

A seguir estão os sinais de um problema com a indexação de AEM/Oak:

  • Os resultados da pesquisa estão desatualizados por mais de 10 minutos
  • Faltam resultados de pesquisa
  • Os erros são retornados na interface do usuário ou nos logs durante a pesquisa por meio da interface do usuário do site, da pesquisa do Query Builder ou da execução da consulta JCR

Identificação de um problema de indexação

  • Para verificar se a indexação assíncrona está lenta ou falhando, faça o seguinte:

    1. Abra esses URLs na sua instância do AEM para exibir estatísticas sobre o indexador assíncrono

      http://aemhost:port/system/console/jmx/org.apache.jackrabbit.oak%3Aname%3Dasync%2Ctype%3DIndexStats

      http://aemhost:port/system/console/jmx/org.apache.jackrabbit.oak%3Aname%3Dfulltext-async%2Ctype%3DIndexStats - Este URL se aplica somente a AEM6.2 e posterior

    2. Em cada uma dessas páginas, verifique estes campos:

      FalhaDesde - Isso indica quando a indexação começou a falhar.

      LastError - Este é o rastreamento de pilha que mostra o que está causando falha na indexação.  Se estiver vazio, a indexação não está falhando.

      LastErrorTime - Isso indica a última vez que a indexação retornou o erro.

      LastIndexedTime - Se a data e a hora desse campo tiverem mais de 5 minutos, a indexação estará muito lenta.

O que causa problemas com indexação?

  • Manutenção incorreta ou falha na execução da manutenção, como Coleta de lixo de revisão, Limpeza de fluxo de trabalho, Limpeza de auditoria, Expurgação de versão etc.
  • Segmentos corrompidos ou ausentes no armazenamento Tar
  • Corrupção de revisão em um ambiente em cluster (DocumentNodeStore - Mongo ou Database)
  • Um problema com a topologia de cluster em um ambiente em cluster

Como analisar o que está causando problemas de indexação

  • Consulte este artigo para analisar e corrigir problemas de indexação

Problemas de replicação

Sintomas de problemas de replicação

  • As solicitações de publicação estão na fila do agente de replicação
  • O conteúdo publicado não é exibido no servidor de publicação
  • Impacto no desempenho do sistema

O que causa problemas de replicação:

  • O agente de replicação está configurado incorretamente e não pode se conectar ao agente de publicação
  • Há um erro no momento da replicação que faz com que a fila de replicação fique presa
  • O sistema está lento e as replicações estão sendo processadas lentamente
  • A replicação ocorre como parte de um fluxo de trabalho personalizado e o problema está no processamento do fluxo de trabalho.

Como analisar problemas de replicação:

  1. Verifique a fila de replicação status:

    Ativo: quando os itens estão sendo processados.
       Ocioso: ​ quando a fila está vazia.
       Bloqueado: quando os itens estão na fila, mas não podem ser processados; por exemplo, quando o agente aponta para um host que está inativo ou inexistente.

  2. Revise as configurações de replicação se o servidor estiver clonado ou se o agente tiver sido configurado recentemente. Para obter detalhes, consulte here.

  3. Revise os logs do agente de replicação em http://host:port/etc/replication/agents.author/AgentName.log.html#end. Se você não conseguir identificar nenhum item, colete esse log e apresente-o AEM suporte.

  4. Revisar o servidor error.log from AEMinstall/crx-quickstart/logs; Se você não conseguir identificar nenhum item, colete esse log e apresente-o AEM suporte.

  5. Se a fila de replicação estiver no estado "inativo" e nenhuma das situações acima se aplicar, nesse caso o problema provavelmente será causado pelos workflows. Se os workflows não estiverem sendo processados, o item de replicação nunca chegará à fila de replicação. Para monitorar o status dos workflows, é possível verificar o painel do workflow para verificar o número de instâncias de workflow em execução. Você pode ler sobre como administrar workflows here.

  6. As replicações ficam lentas quando o sistema está sob alta carga ou apresenta outros problemas de desempenho.

Solução para problemas comuns de replicação:

  1. Revisar os problemas da fila de replicação

  2. Se o problema se deve ao fato de os workflows não estarem sendo executados com eficiência, você pode revisar a dicas de processamento de workflow

Problemas de corrupção do TarMK

Sintomas de corrupção do TarMK

  • A instância é inoperante após a compactação offline.
  • Instância travada Inicialização em andamento estado.
  • Arquivos de log ou relatório de saída do comando de compactação SegmentNotFoundException.

O que causa problemas de corrupção

  • O segmento é removido por intervenção manual (por exemplo, rm -rf ).
  • O segmento é removido pela coleção de lixo de revisão ou o segmento não pode ser encontrado devido a algum erro no código.
  • O segmento não pode ser encontrado devido a algum erro no código.
  • Várias tarefas de manutenção não são executadas a tempo, levando ao crescimento do repositório e a pouco espaço em disco.
  • Interrupção forçada de AEM matando o processo java.

Diagnosticando problemas de corrupção do repositório:

  • Revise o arquivo error.log e verifique se há SegmentNotFoundException ou Exceção IllegalArgument.
  • Para determinar se um segmento foi removido pela coleção de lixo de revisão, verifique a saída do logger org.apache.jackrabbit.oak.plugins.segment.file.TarReader-GC (ativar log de depuração). Esse logger registra as IDs de segmento de todos os segmentos removidos pela fase de limpeza. Somente quando a ID de segmento ofensiva for exibida na saída desse registrador é a coleta de lixo de revisão a causa da exceção.
  • Em caso de corrupção no armazenamento de dados externo, pesquise no arquivo de log todas as ocorrências de erro Erro ao obter InputStream para blobId. Esse erro significa que você está perdendo arquivos do diretório do armazenamento de dados AEM.

Solução para reparar problemas de corrupção:

  • Determine a última revisão válida do armazenamento de segmentos usando o check run-mode de oak-run.  Reverta manualmente o armazenamento de segmentos corrompidos para sua última revisão válida. Essa operação reverterá o repositório Oak para um estado anterior no tempo.  Você deve fazer o backup completo do repositório antes de executar essa operação.
    • Para executar a verificação e restauração, siga as etapas mencionadas em este artigo.
    • Se a verificação falhar com ConsistencyChecker - Não foram encontradas boas revisões em seguida, implemente as etapas da parte B do este artigo.
  • Se você não estiver usando um armazenamento de dados, use um arquivo externo, o armazenamento de dados S3 ou Azure, em vez do armazenamento de segmentos padrão.
    • Usar um armazenamento de dados fornece melhor desempenho.
    • Migre a instância para uma com um armazenamento de dados usando crx2oak.
  • Aplique o Service Pack e o Cumulative Fix Pack mais recentes e o Oak Cumulative Fix Pack.

Nesta página