Obiettivo
Come analizzare la prestazione lenta della query Oak JCR.
Ambiente
AEM 6.x / Oak 1.x
Passaggi
I. Abilita la registrazione debug
Il primo passo per eseguire il debug della prestazione della query JCR è quello di abilitare la registrazione debug:
1. Consulta il sito http://host:port/system/console/slinglog
2. Fai clic su Aggiungi nuovo logger
3. Configura il logger con quanto segue:
File di log: query.log
Livello di log: Debug
Logger:
org.apache.jackrabbit.oak.query.QueryImpl
3. Vai su http://aemhost:port/crx/de/index.jsp e accedi
4. Fai clic su Strumenti => Query
5. Nella casella inferiore della query, incolla la query e fai clic su Esegui
6. Accedi al sistema operativo del server AEM e trova il file crx-quickstart/logs/query.log
7. Apri quel file in un visualizzatore e vedrai i dettagli sull'esecuzione della query
Utilizza lo strumento Explain Query
È inoltre possibile sfruttare lo strumento Explain Query che è uno strumento predefinito in AEM per aiutarti a eseguire il debug della query.
1. Effettua l'accesso all'AEM
2. Vai a questo URL
http://aemhost:port/libs/granite/operations/content/diagnosis/tool.html/_granite_queryperformance
3. Fai clic sulla scheda Spiega
4. Inserisci la domanda e fai clic su Spiegare
5. Vi mostrerà quale indice Oak viene utilizzato per la query
Modificare le definizioni degli indici per risolvere il problema
Per maggiori dettagli su come gestire e migliorare gli indici in AEM, si veda la seguente documentazione:
1. Debug query e indici Oak - https://docs.adobe.com/docs/it/aem/6-3/deploy/platform/queries-and-indexing.html
2. Indici Oak Lucene - https://docs.adobe.com/ddc/en/gems/oak-lucene-indexes.html