Problemas de rendimiento de consultas de recursos DAM causados por advertencias transversales y un uso ineficiente del índice

Las consultas de recursos DAM de Adobe Experience Manager (AEM) se ralentizan, se agotan el tiempo de espera o fallan cuando grandes conjuntos de resultados, sintaxis de consulta no admitida, selección de índices ineficiente o filtros de consulta insuficientes causan una inversión excesiva del nodo. El problema afecta a las consultas del Generador de consultas, a las consultas SQL2, a los trabajos del programador, a los extremos de la API y al rendimiento de la búsqueda de recursos DAM. Para resolver el problema, optimice las consultas, mejore la indexación y reduzca el recorrido.

Descripción description

Entorno

Adobe Experience Manager as a Cloud Service (AEMaaCS)

Problema/Síntomas

  • Las consultas agotan el tiempo de espera o devuelven advertencias de “Índice atravesado demasiados nodos”*.
  • Las consultas SQL2 fallan con errores de análisis porque Oak transforma la sintaxis LIMIT no admitida. Por ejemplo, LIMIT 1 se convierte en LIMIT(*)1, lo que provoca una excepción ParseException.
  • Los extremos de Query Builder devuelven respuestas de interrupción del servicio cuando las rutas DAM grandes hacen un déclencheur de recorrido intenso.
  • Explicar El resultado de la consulta no muestra ningún uso de índice y muestra Índices utilizados: ninguno.
  • Las consultas de rutas DAM grandes como /content/dam/... tardan cientos de segundos o se bloquean cuando se utiliza p.limit=-1.

Causa principal

El problema se produce porque las consultas DAM grandes sin los filtros adecuados obligan a Oak a analizar una cantidad excesiva de nodos. La sintaxis SQL2 LIMIT/OFFSET no admitida, la selección de índices ineficaz, las condiciones no admitidas como IS NULL y los conjuntos de resultados no enlazados impiden un uso eficiente del índice. Las jerarquías de carpetas grandes también pueden provocar tiempos de espera HTTP, agotamiento de recursos y advertencias transversales cuando no se optimizan las consultas.

Resolución resolution

Siga estos pasos para identificar el problema de consulta y mejorar el rendimiento de la consulta DAM:

  1. Identifique el tipo de error de consulta revisando los registros, los resultados de Query Builder Debugger, el resultado de Rendimiento de la consulta y Explicar los resultados de la consulta.
  2. Reduzca los grandes conjuntos de resultados reemplazando p.limit=-1 con un límite razonable y reduciendo el ámbito de la consulta al consultar jerarquías DAM grandes.
  3. Reemplace la sintaxis SQL2 LIMIT/OFFSET no admitida por sintaxis admitida como OPTION(LIMIT 1) y utilice la paginación del Generador de consultas cuando sea necesario.
  4. Revise el resultado Explicar consulta y compruebe que la consulta utiliza el índice DAM esperado en lugar de índices de reserva.
  5. Aplicar la etiqueta de índice adecuada cuando Explicar consulta muestre una selección de índice incorrecta. Por ejemplo, agregue option(index tag assetsOmnisearch) cuando sea necesario.
  6. Eliminar o reestructurar las condiciones IS NULL que impiden el uso del índice y fuerzan la inversión.
  7. Divida las consultas en subconsultas más pequeñas cuando la jerarquía de DAM contenga estructuras de carpetas muy grandes. Por ejemplo, divida las consultas por subcarpeta en lugar de consultar una sola ruta que contenga decenas de miles de recursos.
  8. Añada filtros de metadatos adicionales, como fecha, tipo de recurso u otras propiedades indexadas, para reducir el número de nodos escaneados y mejorar la idoneidad del índice.
  9. Valide la resolución volviendo a ejecutar la consulta, revisando el resultado Explicar consulta, confirmando el uso correcto del índice y asegurándose de que ya no se produzcan advertencias transversales ni tiempos de espera.

Cuándo escalar

  • Las advertencias transversales continúan después de aplicar los límites y filtros de consulta.
  • Explicar La consulta sigue sin mostrar ningún uso del índice después de la optimización de la consulta.
  • La sintaxis SQL2 admitida sigue fallando después de corregir la consulta.
  • Los extremos de Query Builder siguen devolviendo errores de interrupción del servicio después de la optimización y validación del índice.

Lectura relacionada

recommendation-more-help
experience-cloud-kcs-help-kbarticles