Árbol de rendimiento

Última actualización: 2023-12-07
  • Creado para:
  • Developer

Ámbito

El diagrama siguiente tiene por objeto proporcionar instrucciones sobre los pasos que se deben seguir para solucionar los problemas de rendimiento. Se divide en cinco secciones para facilitar la lectura.

Cada paso del diagrama está vinculado a un recurso de documentación o a una recomendación.

Requisitos previos y suposiciones

AEM Se supone que se observa un problema de rendimiento en una página determinada (ya sea una consola de o una página web) y que se puede reproducir de forma coherente. Tener una forma de probar o monitorear el rendimiento es un requisito previo antes de comenzar la investigación.

El análisis comienza en el paso 0. AEM El objetivo es determinar qué entidad (Dispatcher, host externo o red) es responsable del problema de rendimiento y, a continuación, determinar qué área (servidor o red) debe investigarse.

Sección 1

chlimage_1-103

Sección 2

chlimage_1-104

Sección 3

chlimage_1-105

Sección 4

chlimage_1-106

Sección 5

chlimage_1-107

Paso Título Recursos
Etapa 0 Analizar flujo de solicitudes

Puede utilizar el análisis de solicitud HTTP estándar en el explorador para analizar el flujo de solicitud. Para obtener más información sobre cómo realizar este análisis en Chrome, consulte:

https://developer.chrome.com/docs/devtools/

Etapa 2 ¿Las solicitudes provienen de hosts externos? Puede utilizar el análisis de solicitud HTTP estándar en el explorador para analizar el flujo de solicitud. Consulte los vínculos anteriores sobre cómo realizar este análisis en Chrome.
Etapa 3 ¿Se pueden almacenar en caché las solicitudes? Para obtener más información sobre las solicitudes almacenables en caché y los consejos generales de optimización del rendimiento de Dispatcher, consulte Optimización del rendimiento de Dispatcher.
Etapa 4 ¿Las solicitudes provienen de Dispatcher?

Para ver si las solicitudes se almacenan en caché correctamente, consulte la Documentación de depuración de Dispatcher.

Etapa 5 AEM ¿Dispatcher está intentando autenticar cada solicitud a través de la? Compruebe si Dispatcher envía HEAD AEM solicitudes de autenticación para la autenticación antes de enviar el recurso almacenado en caché. Buscar: HEAD AEM solicitudes en la lista de access.log. Para obtener más información, consulte Registro.
Etapa 6 ¿La ubicación geográfica de Dispatcher está lejos de los usuarios? Acerque Dispatcher a los usuarios.
Etapa 7 ¿Es correcta la capa de red de Dispatcher?
Investigue la capa de red para ver si hay problemas de saturación y latencia.

Etapa 8 ¿La lentitud es reproducible con una instancia local?

Uso Día difícil para replicar condiciones "reales" desde las instancias de producción. Si este escenario no es realista para el espacio de desarrollo, asegúrese de probar la instancia de producción (o una instancia de ensayo idéntica) en un contexto de red diferente.

Etapa 9 ¿La ubicación geográfica del servidor está lejos de los usuarios? Acerque el servidor a los usuarios.
Pasos 10 y 29 Investigar la capa de red

Investigue la capa de red para ver si hay problemas de saturación y latencia.

Para el nivel de creación, se recomienda que la latencia no supere los 100 milisegundos.

Para obtener más información sobre sugerencias de optimización de rendimiento, consulte esta página.

Etapa 11 Acercar el servidor o agregar uno por región
Etapa 12 AEM Solución de problemas del servidor de Consulte los siguientes pasos secundarios en el diagrama para obtener más información.
Etapa 13 Compruebe los requisitos de hardware Consulte la documentación de Directrices de tamaño de hardware.
Etapa 14 Buscar causas frecuentes de problemas de rendimiento
Etapa 15 Buscar solicitudes lentas

Puede comprobar las solicitudes lentas analizando la variable request.log o utilizando rlog.jar.

Para obtener más información sobre el uso de rlog.jar, consulte esta página.

Consulte Busque solicitudes con tiempos de duración largos mediante rlog.jar..

Etapa 16 Servidor de perfiles

AEM Para obtener información sobre las herramientas de creación de perfiles que puede utilizar con los informes de perfiles, consulte Herramientas para monitorizar y analizar el rendimiento.

Etapa 17 Buscar métodos lentos en la creación de perfiles
Etapa 18 Situaciones comunes de creación de perfiles Consulte Análisis de escenarios específicos en la sección Optimización de rendimiento.
Etapa 19 CPU al 100% https://experienceleague.adobe.com/docs/experience-manager-release-information/aem-release-updates/previous-updates/aem-previous-versions.html?lang=es
Etapa 20 Memoria insuficiente
  1. Memoria insuficiente
  2. Mi aplicación genera errores de memoria insuficiente
  3. Analice los problemas de memoria.
Etapa 21 E/S de disco

Consulte la E/S de disco de la documentación de Monitorización y mantenimiento.

Pasos 22 y 22.1 Proporción de caché Consulte Calcular la proporción de caché de Dispatcher.

Etapa 23 Consultas lentas Prácticas recomendadas para consultas e indexación
Etapa 24 Ajuste del repositorio
Etapa 25 Flujos de trabajo en ejecución

Etapa 26 Infraestructura de MSM

Prácticas recomendadas para administradores de varios sitios

Etapa 27 Ajuste de recursos
  1. Servicio de sincronización de recursos
  2. Varias instancias de DAM
  3. Artículo de consejos de rendimiento aquí.
Etapa 28 Sesiones sin cerrar

Comprobación de sesiones JCR sin cerrar

Etapa 30 ¿Desea acercar Dispatcher (agregue uno por "región"?)
Etapa 31 Usar CDN delante de Dispatcher Uso de Dispatcher con una CDN
Etapa 32 AEM Para descargar el servidor de, utilice la administración de sesiones en el nivel de Dispatcher

Activar sesiones seguras

Etapa 33 Hacer que las solicitudes sean almacenables en caché
  1. Configuración general de Dispatcher
  2. Configurar la caché de Dispatcher

Cómo mejorar la proporción de caché; hacer que las solicitudes puedan almacenarse en caché (prácticas recomendadas de Dispatcher)

Además, tenga en cuenta la siguiente configuración para optimizar las configuraciones de almacenamiento en caché

  1. Establezca una regla sin caché para la solicitud HTTP que no sea de GET
  2. Configurar las cadenas de consulta para que no se puedan almacenar en caché
  3. No almacenar en caché las direcciones URL con extensiones faltantes
  4. Encabezados de autenticación en caché (posible desde la versión 4.1.10 de Dispatcher)
Etapa 34 Actualizar la versión de Dispatcher

Puede descargar la versión más reciente de Dispatcher en esta ubicación:

Seguir vínculo

Etapa 35 Configurar Dispatcher Configuración de Dispatcher
Etapa 36 Comprobar invalidación de caché
Pasos 37 y 38 Carga diferida AEM Consulte la Sesión Gem sobre rendimiento web de la.
Etapa 39 Utilice la preconexión para reducir la sobrecarga de conexión Consulte la sesión de Gem anterior. Además, documentación adicional previa a la conexión en W3c: https://html.spec.whatwg.org/#linkTypes
Pasos 40 y 41
Latencia y tiempo de respuesta de hosts externos Investigue la latencia y el tiempo de respuesta de los hosts externos.
Pasos 45
y 47

Uso de HTTP/2 Consulte la Sesión Gem para ver los pasos 37, 38 y 39. Además, consulte esta publicación en el foro sobre compatibilidad con HTTP/2.
Etapa 49 Reducir tamaño de carga útil Habilitar Gzip y reducir el tamaño de la imagen.
Pasos 42 y 43 Keep-Alive

Es el Keep-Alive encabezado presente en las diferentes solicitudes para reutilizar conexiones? De lo contrario, significaría que cada solicitud conduce a otro establecimiento de conexión, lo que introduce gastos generales innecesarios. (Análisis de solicitudes HTTP estándar en el explorador)

Puede consultar la Herramienta Servidor Proxy para comprobar las conexiones de mantenimiento activo.

Etapa 44 ¿Cuántas solicitudes se realizan? Realizar análisis de solicitudes HTTP estándar en el explorador.
Etapa 46 Reducción del número de solicitudes
  1. Concatenar recursos (imágenes, sprites CSS, JSON)
  2. Incrustar Clientlibs:
    1. Creación de carpetas de biblioteca de cliente : consulte encabezado Usar la incrustación para minimizar las solicitudes
Etapa 48 ¿Cuál es el tamaño de la carga útil? Análisis de solicitudes HTTP estándar en el explorador
Pasos 50 y 51 Bloqueo de código JS https://experienceleague.adobe.com/docs/experience-manager-gems-events/gems/gems2016/aem-web-performance.html?lang=en

En esta página