Problemas críticos comunes AEM

Descripción

Este artículo describe los problemas críticos de AEM más comunes y cómo analizarlos.

  • Rendimiento de AEM Sites
  • Rendimiento de AEM Assets
  • Problemas de memoria
  • Problemas de indexación
  • Problemas de replicación
  • Problemas de daños en TarMK

Resolución

Problemas de rendimiento de AEM Sites

Síntomas de un problema de rendimiento

  1. Carga lenta de páginas
  2. Creación o edición lentas de páginas
  3. AEM tiempos de respuesta son lentos
  4. AEM no responde a algunas solicitudes
  5. La variable request.log en AEM muestra tiempos de respuesta lentos

Causas de los problemas de rendimiento

  1. Contención de subprocesos: solicitudes de larga duración, como búsquedas lentas, trabajos de fondo con escritura pesada, movimiento de ramas enteras del contenido del sitio, etc.
  2. Alta utilización de la CPU
  3. Solicitudes costosas como búsquedas costosas o código de aplicación, componentes, etc. ineficientes.
  4. Falta de mantenimiento adecuado
  5. Almacenamiento en caché de Dispatcher insuficiente
  6. Falta de CDN
  7. Falta de almacenamiento en caché del explorador
  8. Demasiados scripts cargados en la página y en la parte superior de la página
  9. CSS cargado en toda la página en lugar de en el encabezado del HTML
  10. Tamaño insuficiente del servidor o arquitectura incorrecta
  11. Problemas de memoria (consulte a continuación)

Cómo analizar el problema de rendimiento

1. Captura de una serie de volcados de subprocesos y analizarlos

  1. Compruebe en el nivel del sistema operativo si el AEM java el proceso está causando una alta utilización de la CPU

    Linux: utilice el comando superior para comprobar la utilización de la CPU.

    Windows: use el Windows Administrador de tareas

    Si AEM está causando una alta utilización de la CPU, ejecute la herramienta de creación de perfiles lista para usar durante unos minutos y analice el resultado.

1. Analice el archivo request.log para cualquier solicitud lenta

  1. Revise los procedimientos de mantenimiento del sistema y asegúrese de que está realizando el mantenimiento adecuado en AEM, incluidos los siguientes:

    • Limpieza de revisión (solo MongoMK y DocumentNodeStore de base de datos) - diaria o más frecuente
    • Compactación Tar sin conexión (solo TarMK): quincenal
    • Colección de residuos del almacén de datos (solo sistemas con FileDataStore o S3 DataStore): semanal
    • Purga del flujo de trabajo: semanal
    • Purga de la versión: semanal
    • Purga de AuditLog: frecuencia semanal

    Consulte este artículo para obtener más información sobre AEM mantenimiento.

  2. Revise las estrategias de almacenamiento en caché implementadas en la AEM nivel de Dispatcher.

  3. Revise el almacenamiento en caché.

  4. Utilice herramientas de análisis del sitio del lado del cliente como el Auditorías en Google Chrome explorador Herramientas para desarrolladores panel.  Estas herramientas le darán recomendaciones sobre las mejoras de rendimiento del lado del cliente.

Soluciones a problemas comunes de rendimiento

Problemas de rendimiento de AEM Assets

Síntomas de un Assets problema de rendimiento

  • Cargas de archivos lentas a /assets.html o /damadmin IU
  • Las miniaturas tardan demasiado en generarse
  • Las operaciones de recursos, como mover, eliminar, editar y actualizar metadatos, tardan demasiado

Qué causa problemas con Assets rendimiento

  • Falta de mantenimiento adecuado
  • Últimos paquetes de correcciones no aplicados
  • Optimizaciones no aplicadas
  • Tamaño inadecuado del servidor para la carga del usuario

Cómo analizar la variable Assets problema de rendimiento

Soluciones a comunes Assets problemas de rendimiento

Problemas de memoria

Síntomas de un problema de memoria

  • AEM se bloquea de forma aleatoria y se observa en los registros OutOfMemoryError
  • AEM se vuelve más lento con el tiempo y eventualmente se bloquea
  • AEM no responde

Diagnóstico de un problema de memoria

  • Busque OutOfMemoryError en los archivos de registro; si encuentra alguna coincidencia, tiene un problema de memoria

  • Consulte http://aem-host:port/system/console/memoryusage pantalla

    Si el uso de "Old Generation" (JDK 7 y versiones anteriores) o "Tenured Generation" (JDK 8 o versiones posteriores) es alto, esto podría ser una señal de un problema de utilización de memoria en pilas.  Haga clic en Ejecutar recolector de residuos para solicitar a la JVM que ejecute una colección de residuos completa.  Si la alta utilización de memoria se mantiene alta después de solicitar GC, entonces es probable que haya un problema.  En una instancia AEM con almacenamiento Oak Tar, si el uso tendido es superior a 3 GB, puede haber un problema.  La alta utilización de memoria en un sistema con almacenamiento Mongo podría deberse a la configuración de caché en memoria.

  • Realizar volcados de subprocesos y salida superior y realizar análisis de subprocesos.  Compruebe si los subprocesos que causan una alta utilización de la CPU son subprocesos nativos de colección de residuos de JVM.  Si el subproceso que utiliza la mayor cantidad de tiempo de CPU es el "subproceso VM" o cualquier subproceso de colección de residuos, es probable que haya un problema de memoria.

Causas de los problemas de memoria

  • Java fuga de memoria de la aplicación
  • Java Finalizer se acumula debido al uso incorrecto de la finalización en el código personalizado
  • Configuración de montículos máx. insuficiente

Cómo analizar la causa de su problema de memoria

Consulte este artículo para obtener más información sobre cómo capturar un volcado de montículos.

La mejor manera de identificar la causa de un problema de memoria es analizar un volcado de montículos.

Una vez que haya capturado un archivo de volcado de montículos, ábralo en Eclipse MAT o Analizador de memoria de IBM herramienta.  En Eclipse MAT, ejecute el informe de posibles fugas y abra la vista "Detalles del subproceso" para ver las posibles causas del problema de memoria.

Soluciones a problemas comunes de memoria

  • Optimice el código de la aplicación para utilizar menos memoria si observa pausas largas en la recolección de basura.  La mayoría de los problemas de la colección de residuos se pueden resolver optimizando la aplicación en lugar de sintonizar la JVM.
  • Si ya ha optimizado la aplicación y sigue experimentando largas pausas de GC, entonces enfoque en el ajuste de JVM.

Problemas de indexación de AEM

Síntomas de problemas de indexación

Los siguientes son signos de un problema con la indexación de AEM/Oak:

  • Los resultados de búsqueda están obsoletos en más de 10 minutos
  • Faltan resultados de búsqueda
  • Los errores se devuelven en la interfaz de usuario o en los registros durante la búsqueda a través de la interfaz de usuario del sitio, la búsqueda de Query Builder o la ejecución de la consulta JCR

Diagnóstico de un problema de indexación

  • Para ver si la indexación asíncrona es lenta o falla, haga lo siguiente:

    1. Abra estas direcciones URL en la instancia de AEM para ver estadísticas sobre el indexador asincrónico

      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 : Esta URL solo se aplica a AEM6.2 y posterior

    2. En cada una de esas páginas, compruebe estos campos:

      FailingSince : esto indica cuándo comenzó a fallar la indexación.

      LastError - Este es el seguimiento de pila que muestra lo que está causando que la indexación falle.  Si está vacío, la indexación no está fallando.

      LastErrorTime : esto indica la última vez que la indexación lanzó el error.

      LastIndexedTime - Si la fecha y la hora de este campo tienen más de 5 minutos, la indexación es demasiado lenta.

Qué causa problemas con la indexación

  • Mantenimiento incorrecto o fallo en la realización del mantenimiento, como la colección de residuos de revisión, la purga del flujo de trabajo, la purga de auditoría, la purga de la versión, etc.
  • Segmentos dañados o que faltan en el almacenamiento de Tar
  • Corrupción en la revisión en un entorno agrupado (DocumentNodeStore - Mongo o Database)
  • Problema con la topología del clúster en un entorno agrupado

Cómo analizar las causas de los problemas de indexación

  • Consulte este artículo para analizar y corregir problemas de indexación

Problemas de replicación

Síntomas de problemas de replicación

  • Las solicitudes de publicación se ponen en cola en la cola del agente de replicación
  • El contenido publicado no se muestra en el servidor de publicación
  • Impacto en el rendimiento del sistema

Causas de los problemas de replicación:

  • El agente de replicación está mal configurado y no puede conectarse al agente de publicación
  • Hay un error en el momento de la replicación que hace que la cola de replicación se atasque
  • El sistema es lento y las réplicas se procesan lentamente
  • La replicación se está realizando como parte de un flujo de trabajo personalizado y el problema está en el procesamiento del flujo de trabajo.

Cómo analizar los problemas de replicación:

  1. Comprobar la cola de replicación status:

    Activo: cuando se procesan elementos.
       Inactivo: ​ cuando la cola está vacía.
       Bloqueado: cuando los elementos están en cola, pero no se pueden procesar; por ejemplo, cuando el agente señala a un host que está inactivo o que no existe.

  2. Revise las configuraciones de replicación si su servidor está clonado o el agente se ha configurado recientemente. Para obtener más información, consulte here.

  3. Revise los registros del agente de replicación en http://host:port/etc/replication/agents.author/AgentName.log.html#end. Si no puede identificar ningún elemento, recopile este registro y preséntelo a AEM asistencia técnica.

  4. Revisar el servidor error.log from AEMinstall/crx-quickstart/logs; Si no puede identificar ningún elemento, recopile este registro y preséntelo a AEM asistencia técnica.

  5. Si la cola de replicación está en estado "inactivo" y no se aplica ninguna de las anteriores, en este caso el problema es probablemente causado por los flujos de trabajo. Si los flujos de trabajo no se están procesando, el elemento de replicación nunca llega a la cola de replicación. Para monitorizar el estado de los flujos de trabajo, puede comprobar el panel de flujo de trabajo para comprobar el número de instancias de flujo de trabajo en ejecución. Puede obtener información sobre la administración de flujos de trabajo here.

  6. Las réplicas se ralentizan cuando el sistema está bajo una carga alta o experimenta otros problemas de rendimiento.

Solución a problemas comunes de replicación:

  1. Revise los problemas de la cola de replicación

  2. Si el problema se debe a que los flujos de trabajo no se ejecutan de forma eficiente, puede revisar la sugerencias de procesamiento del flujo de trabajo

Problemas de daños en TarMK

Síntomas de daños en TarMK

  • La instancia no se puede utilizar después de la compactación sin conexión.
  • Instancia atascada Inicio en curso estado.
  • Informes de salida de archivos de registro o comandos de compactación SegmentNotFoundException.

Causas de los problemas de corrupción

  • El segmento se elimina mediante una intervención manual (por ejemplo, rm -rf ).
  • El segmento se elimina mediante la colección de residuos de revisión o el segmento no se puede encontrar debido a algún error en el código.
  • El segmento no se puede encontrar debido a algún error en el código.
  • Varias tareas de mantenimiento no se realizan a tiempo, lo que lleva al crecimiento del repositorio y a un espacio en disco reducido.
  • Forzosamente, deteniendo AEM matando el proceso java.

Diagnóstico de problemas de corrupción del repositorio:

  • Revise el archivo error.log y compruebe si hay SegmentNotFoundException o Excepción IllegalArgument.
  • Para determinar si un segmento ha sido eliminado por la colección de residuos de revisión, compruebe el resultado del registrador org.apache.jackrabbit.oak.plugins.segment.file.TarReader-GC (habilitar registro de depuración). Ese registrador registra los identificadores de segmento de todos los segmentos eliminados por la fase de limpieza. La colección de residuos de revisión es la causa de la excepción sólo cuando el identificador del segmento infractor aparece en la salida de ese registrador.
  • En caso de corrupción en el almacén de datos externo, busque en el archivo de registro todas las ocurrencias de error Error al obtener InputStream para blobId. Este error significa que faltan archivos del directorio del almacén de datos AEM.

Solución para reparar problemas de daños:

  • Determine la última corrección correcta conocida del almacén de segmentos utilizando la variable check modo de ejecución de oak-run.  Revierta manualmente el almacén de segmentos dañado a su última corrección correcta. Esta operación revertirá el repositorio Oak a un estado anterior a tiempo.  Debe realizar una copia de seguridad completa del repositorio antes de realizar esta operación.
    • Para realizar la comprobación y restauración, siga los pasos mencionados en este artículo.
    • Si la comprobación falla con ConsistencyChecker - No se encontraron revisiones correctas a continuación, aplique los pasos de la parte B de este artículo.
  • Si no utiliza un almacén de datos, utilice un archivo externo, S3 o Azure datastore, en lugar del almacén de segmentos predeterminado.
    • El uso de un almacén de datos ofrece un mejor rendimiento.
    • Migración de la instancia a una con un almacén de datos mediante crx2oak.
  • Aplique el último Service Pack y Cumulative Fix Pack y Oak Cumulative Fix Pack.

En esta página