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

  1. 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]
    
  2. 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.

  3. 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.

  4. Klicka på Spara alla.

  5. 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.

  6. 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

  1. 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"

  2. 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]
    
  3. Om du ser det bör du aktivera felsökningsnivåloggning för org.apache.jackrabbit.oak.plugins.index

  4. 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.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f