Bekannte Probleme bezüglich ungewöhnlicher Langsamkeit von benutzerdefinierten JCR-Abfragen in AEM

Diese Seite enthält die bekannten Probleme, die zu einer ungewöhnlichen Ausführungszeit von Abfragen führen, sowie deren Lösung.

Wenn Sie Ihr Problem nicht in dieser Liste finden, leiten wir Sie auf die Dokumentationsseite „Fehlerbehebung bei langsamen Abfragen“ um, um weitere Untersuchungen durchzuführen.

Problem 1 - Langsamkeit aufgrund zu hoher Indexkosten

In bestimmten Umgebungen ist eine benutzerdefinierte JCR- oder QueryBuilder-Abfrage langsam, die einen benutzerdefinierten Lucene-Eigenschaftsindex (oak:QueryIndexDefinition) in einigen AEM-Umgebungen verwendet, in denen viel Inhalt vorhanden ist.

Umgebung

AEM 6.3, AEM 6.4

Ursache

Die vom Index zurückgegebenen Kosten für die Ausführung könnten jetzt so hoch sein (aufgrund des Inhaltsvolumens im System), dass stattdessen ein anderer Index für die Abfrage verwendet wird.

Lösung

Es ist wahrscheinlich, dass der falsche Index für die Abfrage verwendet wird.  Das Erläutern der Abfrage-Tool (Tools => Operationen => Diagnose => Abfrageleistung => Erläutern der Abfrage) kann zum Debuggen verwendet werden.

  1. Fügen Sie includedPaths und queryPaths zu oak:QueryIndexDefinition node (z. B. /oak:index/customIndex) für alle benutzerdefinierten Indizes hinzu, um den Index einzuschränken.  Das bewirkt, dass der Index nur Abfragen verarbeitet, die den Pfad /content/mysite - /jcr:root/content/mysite[@foo=1] enthalten. Die Eigenschaften includedPaths und queryPaths (String[]) hätten dann beide einen Wert /content/mysite.

  2. Legen Sie entryCount (Lang) auf eine niedrige Zahl fest oder stimmen Sie die Eigenschaft costPerEntry (Doppelt) und costPerExecution (Doppelt) auf hier dokumentiert ab, um die Kostenschätzung an den benutzerdefinierten Index anzupassen.

 Adobe

Schneller und einfacher Hilfe erhalten

Neuer Benutzer?