Analyserar AEM indexeringsproblem
Artikeln innehåller riktlinjer för hur du analyserar långsamma frågor, omindexerar asynkrona index och felsöker indexeringsproblem i Adobe Experience Manager.
Beskrivning description
Miljö
Adobe Experience Manager
Problem/symtom
Hur felsöker man alla vanliga indexeringsproblem?
Upplösning resolution
Analyserar långsamma frågor
Om du går till Verktyg >
Åtgärder >
Kontrollpanelen >
Diagnos >
Frågeprestanda visas listan med långsamma frågor.
Mer information om hur du analyserar långsamma frågor finns i det här dokumentet.
I icke-produktionsmiljöer kan verktygspaketet för Adobe Consulting Services (ACS) AEM installeras för att ge ett frågemeddelande för ytterligare felsökning.
Indexerar om asynkrona index
Obs! Omindexering löser vanligtvis inte frågeproblem, till exempel frågor som inte returnerar rätt resultat. Omindexering kan dessutom ta lång tid. Omindexering kan undvikas om inte annat anges av någon anledning som anges där.
Indexera om ett asynkront index
-
Logga in på din AEM
-
Öppna http://aemhost:port/crx/de/index.jsp
-
Gå till indexdefinitionen under /oak:index
-
Ange en boolesk egenskap, reindex=true, för indexet som ska indexeras om och spara sedan. När indexeringen startar visas ett loggmeddelande som detta:
code language-none 23.06.2015 14:26:23.070 *INFO* [ FelixStartLevel] org.apache.jackrabbit.oak.plugins.index.IndexUpdate Reindexing will be performed for following indexes: [ /oak:index/cqAcUUID, /oak:index/nodetype, /oak:index/deviceIdentificationMode, /oak:index/campaignpath, /oak:index/active, /oak:index/jcrFrozenMixinTypes]
-
Under omindexering pågår skulle attributet status för IndexStatsMBean ha värdet running.
code language-none 23.06.2015 14:26:23.517 *INFO* [ FelixStartLevel] org.apache.jackrabbit.oak.plugins.index.IndexUpdate Reindexing Traversed #10000 /jcr:system/jcr:versionStorage/c8/5f... 23.06.2015 14:28:51.999 *INFO* [ pool-8-thread-1] org.apache.jackrabbit.oak.plugins.index.IndexUpdate Indexing report - /oak:index/counter (708) - /oak:index/authorizables (159) - /oak:index/cqPageLucene (1913) - /oak:index/ntBaseLucene (444) - /oak:index/cqTagLucene (512) - /oak:index/workflowDataLucene*(116)
-
Du kan bekräfta att indexeringen har slutförts genom att kontrollera indexdefinitionsnoden, att egenskapen reindexCount har ökats och att den booleska inställningen för omindexering ska vara false.
Om indexeringen slutfördes utan fel i loggfilen visas följande post:
code language-none 23.06.2015 14:28:52.009 *INFO* [ pool-8-thread-1] org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate Reindexing (async) completed for indexes: [ /oak:index/counter*(708), /oak:index/authorizables*(159), /oak:index/cqPageLucene*(1913), /oak:index/ntBaseLucene*(444), /oak:index/cqTagLucene*(512), /oak:index/workflowDataLucene*(116)] in 30.36 s
-
Om omindexeringen inte är klar och har hamnat i en slinga kan du läsa avsnittet Analysera misslyckades med omindexering nedan.
-
Den asynkrona indexaktiviteten kan identifieras på INFO-nivå genom att greppa:
code language-none org.apache.jackrabbit.plugins.index.IndexUpdate, and org.apache.jackrabbit.plugins.index.AsyncIndexUpdate
Prestandaproblem med asynkron indexering
-
Aktivera loggning för att validera timing:
Nivå TRACE (endast i Oak 1.0.17 eller senare):
code language-none org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditorContext.perf
FELSÖKNINGSNIVÅ:
code language-none org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate org.apache.jackrabbit.oak.plugins.index.IndexUpdate org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditor org.apache.jackrabbit.oak.plugins.index.lucene.IndexTracker org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditorContext org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier
Loggar som dessa skulle genereras som visar tidpunkten för indexering:
code language-none 09.07.2015 08:13:38.401 *TRACE* [ 192.168.193.1 [ 1436444018387] POST /content/dam/site/test.createasset.html HTTP/1.1] org.apache.jackrabbit.oak.jcr.operations.writes [ session-101777] Adding node [ /content/dam/site/test/jackrabbit-oak7.png] 09.07.2015 08:13:38.583 *TRACE* [ 192.168.193.1 [ 1436444018387] POST /content/dam/site/test.createasset.html HTTP/1.1] org.apache.jackrabbit.oak.jcr.operations.writes [ session-101777] save 09.07.2015 08:13:42.823 *DEBUG* [ pool-9-thread-1] org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate Running background index task async 09.07.2015 08:13:42.963 *TRACE* [ pool-9-thread-1] org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditor [ /oak:index/lucene] Indexed document for /content/dam/site/test/jackrabbit-oak7.png/jcr:content/related is Document<stored,indexed,omitNorms,indexOptions=DOCS_ONLY<:path:/content/dam/site/test/jackrabbit-oak7.png/jcr:content/related> indexed,tokenized<:fulltext:related>> 09.07.2015 08:13:43.579 *DEBUG* [ pool-9-thread-1] org.apache.jackrabbit.oak.plugins.index.IndexUpdate Indexing report - /oak:index/siteDamIndex(2) - /oak:index/lucene(15) 09.07.2015 08:13:43.779 *TRACE* [ oak-lucene-0] org.apache.jackrabbit.oak.plugins.index.lucene.IndexTracker.perf [ /oak:index/siteDamIndex] Index found to be updated. Reopening the IndexNode [ took 150ms] 09.07.2015 08:13:45.248 *TRACE* [ oak-lucene-0] org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier.perf [ /oak:index/lucene] Copied 0 files totaling 0 B [ took 1465ms] 09.07.2015 08:13:45.248 *TRACE* [ oak-lucene-0] org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier [ /oak:index/lucene] opening remote only file segments.gen 09.07.2015 08:13:45.361 *TRACE* [ oak-lucene-0] org.apache.jackrabbit.oak.plugins.index.lucene.IndexTracker.perf [ /oak:index/lucene] Index found to be updated. Reopening the IndexNode [ took 1581ms]
-
Ta en serie tråddumpar och sök efter tråden som innehåller AsyncIndexUpdate i stacken för att se var större delen av indexeringstiden spenderas eller om indexeringen väntar på några andra trådar. Om du vill ta tråddumpar läser du den här artikeln.
-
Ange den booleska egenskapen saveDirectoryListing=true (endast om Oak 1.0.16 används, om en senare version inte behövs) och ange egenskapen excludePaths=
[
/var, /etc/workflow/instances, /jcr:system]
på indexet /oak:index/lucene OTB för att optimera den. -
Klicka på Spara alla.
-
När du skapar anpassade egenskapsindex för lucene ska du se till att ställa in saveDirectoryListing=true (Boolean) om du använder Oak 1.0.16 och anger egenskapen includedPaths (String
[
]
) för att begränsa indexvärdet till att endast indexera vissa sökvägar. -
Gå till den här URL:en
/system/console/configMgr/org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService
Copy on Read, Copy on Write (endast säker att använda i Oak 1.0.18 och senare) och Prefetch Index Files (endast i Oak 1.0.18 och senare)
Analysen misslyckades med omindexering
-
När asynkron indexering misslyckas ser du att LastIndexedTime är ett gammalt datum och en gammal tid när du kontrollerar JMX-gränssnittet för den asynkrona indexeringen (länken nedan):
http://localhost:4502/system/console/jmx/org.apache.jackrabbit.oak%3Aid%3D11%2Cname%3D"async"%2Ctype%3D"IndexStats"
-
När omindexering misslyckas placeras den i en slinga som denna:
code language-none 08.01.2015 01:22:04.474 *INFO* [ pool-9-thread-2] org.apache.jackrabbit.oak.plugins.index.IndexUpdate Reindexing will be performed for following indexes [ /oak:index/damFileSize, /oak:index/lucene, /oak:index/cqLastModified] 08.01.2015 01:52:08.365 *INFO* [ pool-9-thread-5] org.apache.jackrabbit.oak.plugins.index.IndexUpdate Reindexing will be performed for following indexes [ /oak:index/damFileSize, /oak:index/lucene, /oak:index/cqLastModified] 08.01.2015 09:33:23.306 *INFO* [ pool-9-thread-5] org.apache.jackrabbit.oak.plugins.index.IndexUpdate Reindexing will be performed for following indexes [ /oak:index/damFileSize, /oak:index/lucene, /oak:index/cqLastModified]
-
Om du ser det bör du aktivera felsökningsnivåloggning för
org.apache.jackrabbit.oak.plugins.index
-
Nästa gång indexeringen görs en slinga med loggmeddelandet ovanför ett felsökningsloggmeddelande ger den mer information om varför indexeringen misslyckas. Sedan kan du ta itu med problemet, oavsett om det är en skadad nod, en blob som saknas eller något annat problem.