Oak Repository von AEM ist auf die Verwendung von MongoDB und die nächtliche Wartungsaufgabe konfiguriert. Die Revisionsbereinigung nimmt über fünf Stunden in Anspruch.

Ursache

Es gibt viele Ursachen:

  1. Große Anzahl von Schreibzugriffen auf das Repository in den letzten 24 Stunden.
  2. Leistungsprobleme von MongoDB:

Lösung

Wenn die Revisions-Speicherbereinigung durch übermäßige Schreibzugriffe auf das Oak-Repository verursacht wird, können Sie sie mit den folgenden Schritten debuggen:

  1. Gehen Sie zu http://aem-host:port/system/console/slinglog und melden Sie sich als Administrator an.

  2. Logger hinzufügen.

    • Protokolldatei: revisiongc.log
    • Protokollebene: Debuggen
    • Loggers: org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollector
  3. Warten Sie auf die nächste langsame Revisionsbereinigung.

  4. Führen Sie dieses Bash-Skript gegen die Protokolldatei aus, um die Anzahl der Updates zu ermitteln, die bereinigt wurden:cut -d ':' -

    -f2,3 revisiongc.log | grep '/' | cut -f1-7 -d '/' | sed 's|\(/etc/workflow/.*/2015-09-[0-9]*\)[_0-9]*\(/.*\)_[0-9]*|\1\2|' | sed 's|\(/var/replication/data/[a-z0-9\-]*\).*|\1|' | sort | uniq -c | sort -nr | less

    Beispielausgabe (zeigt an, wie viele Elemente unter verschiedenen Pfaden gelöscht wurden):

    1574323 /oak:index/slingeventEventId/
    140203 /oak:index/slingResourceType/
    130687 /oak:index/nodetype/
    130557 /oak:index/event.job.topic/
    37277 /oak:index/reference/
    35870 /var/replication/data/4e8f3d96-c010-4d2c-bf7b-431b902880d2
    ...

  5. Mit diesen Daten können Sie erkennen, ob zu häufig aktualisierte Indizes vorhanden sind, die möglicherweise entfernt werden können. Dies gibt Ihnen eine Vorstellung davon, wo die meisten transienten Updates im Repository stattfinden.  Mit diesen Informationen können Sie daran arbeiten, die Anzahl der übermäßigen Schreibzugriffe auf Oak zu reduzieren.

  6. Wenn die Revisions-Speicherbereinigung langsam ist und Sie keine übermäßige Schreibaktivität gegen Oak-Indizes oder andere Speicherorte im System feststellen, dann überprüfen Sie die Leistung von MongoDB.  Die Revisions-Speicherbereinigung läuft immer gegen die primäre MongoDB-Replik, sodass Sie die in der mongod.log verwendeten Abfragezeiten und Indizes überprüfen können.

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie