Revision Cleanup revision-cleanup
Introduktion introduction
Varje uppdatering av databasen skapar en innehållsändring. Det innebär att databasstorleken ökar för varje uppdatering. Gamla revideringar måste rensas för att frigöra diskutrymme - det är viktigt för att undvika okontrollerad databastillväxt. Den här underhållsfunktionen kallas Revision Cleanup. Det har funnits som en offlinerutrutin sedan Adobe Experience Manager (AEM) 6.0.
Med AEM 6.3 och senare introducerades en onlineversion av den här funktionen som kallas Online Revision Cleanup. Jämfört med funktionen för rensning av offlineredigering, där AEM ska stängas av, kan rensning av onlinerevision köras när den AEM instansen är online. Rensa onlineändringar är aktiverat som standard och det är det rekommenderade sättet att rensa en revision.
Obs!: I videonfinns en introduktion och information om hur du använder rensning av onlineversioner.
Revideringsrensningsprocessen består av tre faser: uppskattning, komprimering och rensning. Beräkningen avgör om nästa fas (komprimering) ska köras eller inte baserat på hur mycket skräp som kan samlas in. Under komprimeringsfasen skrivs segment och tjärfiler om, utan att något innehåll som inte används tas bort. Rensa upp-fasen tar sedan bort de gamla segmenten, inklusive eventuellt skräp som de innehåller. Offlineläget kan vanligtvis frigöra mer utrymme eftersom onlineläget måste ta hänsyn till AEM arbetsuppsättning som inte samlar in fler segment.
Mer information om Revision Cleanup finns på följande länkar:
Du kan även läsa den officiella Oak-dokumentationen.
När ska onlinerevision rensas i stället för Offline Revision Cleanup? when-to-use-online-revision-cleanup-as-opposed-to-offline-revision-cleanup
Rensning av onlineändringar rekommenderas för att utföra rensning av revisioner.Rensning av offlineredigering bör endast användas i undantagsfall, till exempel innan du migrerar till det nya lagringsformatet eller om du har ombetts att göra det av Adobe kundtjänst.
Så här kör du rensning av onlineändringar how-to-run-online-revision-cleanup
Rensa onlineändringar är konfigurerat som standard så att det automatiskt körs en gång om dagen på både AEM författare och Publish-instanser. Allt du behöver göra är att definiera underhållsfönstret under en period med minsta användaraktivitet. Du kan konfigurera rensningsaktiviteten för onlineändringar på följande sätt:
-
Gå till Verktyg - Åtgärder - Kontrollpanel - Underhåll i huvudfönstret AEM eller peka din webbläsare till:
https://serveraddress:serverport/libs/granite/operations/content/maintenance.html
-
Håll muspekaren över fönstret Dagligt underhåll och klicka på ikonen Inställningar .
-
Ange önskade värden (upprepning, starttid, sluttid) och klicka på Spara.
Om du vill köra revideringsrensningen manuellt kan du:
-
Gå till Verktyg - Åtgärder - Kontrollpanel - Underhåll eller bläddra direkt till
https://serveraddress:serverport/libs/granite/operations/content/maintenance.html
-
Klicka på Daglig underhållsplan.
-
Håll muspekaren över ikonen Revision Cleanup .
-
Klicka på Kör.
Online Revision Cleanup After Offline Revision Cleanup running-online-revision-cleanup-after-offline-revision-cleanup
Rensningsprocessen för revision återtar gamla versioner av generationer. Det innebär att varje gång du kör en revideringsrensning skapas en ny generation som sparas på disken. Det finns dock en skillnad mellan de två sorteringstyperna av revisioner: när du rensar en version offline behålls en generation medan rensning av onlineversioner behåller två generationer. Så när du kör rensning av onlinerevision efter rensas offlinerevisionen händer följande:
- När den första rensningen av onlineversionen har gjorts dubbleras databasstorleken. Det beror på att det nu finns två generationer som finns på disken.
- Under efterföljande körningar kommer databasen att växa tillfälligt medan den nya generationen skapas och sedan stabiliseras tillbaka till den storlek som den hade efter den första körningen, när rensningsprocessen för onlineändringar återtar den tidigare generationen.
Tänk också på att beroende på typ och antal implementeringar kan varje generation variera i storlek jämfört med den föregående, vilket innebär att den slutliga storleken kan variera mellan olika körningar.
På grund av detta bör du göra skivans storlek minst två eller tre gånger större än den ursprungligen beräknade databasstorleken.
Komprimeringslägen i full- och slutläge full-and-tail-compaction-modes
AEM 6.5 introducerar två nya lägen för compaction -fasen i rensningsprocessen för onlineändringar:
- Läget Fullständig komprimering skriver om alla segment och målfiler i hela databasen. Den efterföljande rensningsfasen kan på så sätt ta bort den maximala mängden skräp i databasen. Eftersom fullständig komprimering påverkar hela databasen krävs det mycket systemresurser och tid för att slutföra. Fullständig komprimering motsvarar komprimeringsfasen i AEM 6.3.
- Läget slutkomprimering skriver bara om de senaste segmenten och tjärfilerna i databasen. De senaste segmenten och tjärfilerna är de som har lagts till sedan den senaste gången komprimeringen kördes, antingen helt eller slut. Den efterföljande rensningsfasen kan därför bara ta bort det skräp som finns i den senaste delen av databasen. Eftersom slutkomprimering bara påverkar en del av databasen krävs betydligt mindre systemresurser och tid för att slutföra kompaktionen än fullständig komprimering.
Dessa komprimeringslägen utgör en kompromiss mellan effektivitet och resursförbrukning: även om slutkomprimeringen är mindre effektiv har den mindre inverkan på den normala systemdriften. Fullständig komprimering är däremot mer effektivt men har större inverkan på den normala systemdriften.
I AEM 6.5 introduceras också en effektivare funktion för borttagning av dubbletter vid komprimering, vilket ytterligare minskar databasens diskutrymme.
De två diagrammen nedan visar resultat från interna laboratorietester som visar minskningen av den genomsnittliga exekveringstiden och den genomsnittliga diskåtgången i AEM 6.5 jämfört med AEM 6.3:
Så här konfigurerar du kompaktion med hel- och slutdata how-to-configure-full-and-tail-compaction
Standardkonfigurationen kör slutkomprimering på veckodagar och fullständig komprimering på söndagar. Standardkonfigurationen kan ändras med det nya konfigurationsvärdet full.gc.days
för RevisionCleanupTask
underhållsaktiviteten.
När du konfigurerar värdet full.gc.days
körs fullständig komprimering under de dagar som definieras i värdet och slutkomprimeringen körs under de dagar som inte har definierats i värdet. Om du till exempel konfigurerar fullständig komprimering för att köras på söndag körs svansen på måndag till lördag. Om du till exempel konfigurerar fullständig komprimering för att köras varje veckodag körs inte slutkomprimeringen alls.
Tänk också på följande:
- Slutlig komprimering är mindre effektivt och har mindre inverkan på normala systemåtgärder. Den är således avsedd att köras under vardagar.
- Fullständig komprimering är mer effektivt men har också större effekt på normala systemåtgärder. Den är således avsedd att användas utanför kontorstid.
- Både svanskomprimering och fullständig komprimering bör schemaläggas att köras under lågbelastningstimmar.
Felsökning troubleshooting
Tänk på följande när du använder de nya komprimeringslägena:
- Du kan övervaka in-/utdataaktiviteten (I/O), till exempel I/O-åtgärder, CPU som väntar på IO, spara köstorlek. Detta hjälper till att avgöra om systemet håller på att bli I/O-bundet och kräver en uppgradering.
RevisionCleanupTaskHealthCheck
anger den övergripande hälsostatusen för onlinerevideringsrensningen. Det fungerar på samma sätt som i AEM 6.3 och skiljer inte mellan full- och svanskomprimering.- Loggmeddelandena innehåller relevant information om komprimeringslägena. När t.ex. onlineredigering av revision startas, visar motsvarande loggmeddelanden komprimeringsläget. I vissa hörnfall återställs systemet till fullständig komprimering när det var schemalagt att köra en slutkomprimering och loggmeddelandena indikerar den här ändringen. Loggexemplen nedan visar komprimeringsläget och ändringen från svans till full komprimering:
TarMK GC: running tail compaction
TarMK GC: no base state available, running full compaction instead
Kända begränsningar known-limitations
Ibland kan rensningsprocessen fördröjas om du växlar mellan svansen och det fullständiga komprimeringsläget. Mer exakt kommer databasen att växa efter en fullständig komprimering (den dubbleras i storlek). Det extra utrymmet återtas i den efterföljande svansen när databasen hamnar under den förfyllda komprimeringsstorleken. Parallella körningar av underhållsuppgifter bör också undvikas.
Du bör ändra storlek på disken minst två eller tre gånger så stor som den ursprungligen uppskattade databasstorleken.
Vanliga frågor och svar om rensning av onlineversioner online-revision-cleanup-frequently-asked-questions
AEM 6.5 Upgrade Considerations aem-upgrade-considerations
Migrera till Oak Segment tar migrating-to-oak-segment-tar
Online Revision Cleanup körs running-online-revision-cleanup
Övervaka rensning av onlineändringar monitoring-online-revision-cleanup
Felsökning av rensning av onlineversioner troubleshooting-online-revision-cleanup
Felsökning baserad på felmeddelanden troubleshooting-based-on-error-messages
error.log är utförlig om det finns incidenter under rensningen av onlineversioner. Följande matris syftar till att förklara de vanligaste budskapen och ge möjliga lösningar:
Så här kör du borttagning av offlinerevision how-to-run-offline-revision-cleanup
Adobe har ett verktyg som heter Oak-run för att utföra revisionsrensning. Den kan laddas ned här:
https://repo1.maven.org/maven2/org/apache/jackrabbit/oak-run/
Verktyget är en körbar burk som kan köras manuellt för att komprimera databasen. Processen kallas för rensning av offlineändringar eftersom databasen måste stängas av för att verktyget ska kunna köras korrekt. Se till att planera rensningen i enlighet med ditt underhållsfönster.
Tips om hur du kan förbättra rensningsprocessens prestanda finns i Förbättra prestanda för rensning av offlineredigering.
-
Se alltid till att du har en säkerhetskopia av AEM.
Stäng av AEM.
-
(Valfritt) Använd verktyget för att hitta gamla kontrollpunkter:
code language-xml java -jar oak-run.jar checkpoints install-folder/crx-quickstart/repository/segmentstore
-
(Valfritt) Ta sedan bort de orefererade kontrollpunkterna:
code language-xml java -jar oak-run.jar checkpoints install-folder/crx-quickstart/repository/segmentstore rm-unreferenced
-
Kör komprimeringen och vänta tills den är klar:
code language-xml java -jar -Dsun.arch.data.model=32 oak-run.jar compact install-folder/crx-quickstart/repository/segmentstore
Förbättra prestanda för rensning av offlinerevision increasing-the-performance-of-offline-revision-cleanup
Verktyget för ekakning innehåller flera funktioner som syftar till att öka prestandan för revisionsrensningen och minimera underhållsfönstret så mycket som möjligt.
Listan innehåller flera kommandoradsparametrar, enligt beskrivningen nedan:
-
-map. Du kan ange det här som sant eller falskt. Om värdet är true används minnesmappad åtkomst. Om värdet är false används filåtkomst. Om inget anges används minnesmappad åtkomst på 64-bitarssystem och filåtkomst används på 32-bitarssystem. I Windows används alltid vanlig filåtkomst och det här alternativet ignoreras. Den här parametern har ersatt parametern -Dtar.memoryMMapped.
-
-Dupdate.limit. Definierar tröskelvärdet för tömning av en temporär transaktion till disk. Standardvärdet är 10000.
-
-Dcompress-interval. Antal komprimeringsmappningsposter som ska behållas tills den aktuella kartan komprimeras. Standardvärdet är 100000. Om det finns tillräckligt med stackminne bör du öka det här värdet till ett ännu högre värde för snabbare dataflöde. Den här parametern har tagits bort i Oak version 1.6 och har ingen effekt.
-
-Dcompaction-progress-log. Antalet komprimerade noder som loggas. Standardvärdet är 150000, vilket innebär att de första 150000 komprimerade noderna loggas under åtgärden. Använd den här med nästa parameter som beskrivs nedan.
-
-Dtar.PersistCompactionMap. Ställ in den här parametern på true om du vill använda diskutrymme i stället för heap-minne för att bevara komprimeringskartan. Kräver ekkörningsverktyget version 1.4 och senare. Mer information finns i fråga 3 i avsnittet Vanliga frågor och svarom offlineredigering. Den här parametern har tagits bort i Oak version 1.6 och har ingen effekt.
-
—force. Tvinga komprimering och ignorera en version som inte matchar segmentlagret.
--force
uppgraderas segmentbutiken till den senaste versionen, vilket inte är kompatibelt med äldre Oak-versioner. Tänk också på att ingen nedgradering är möjlig. I allmänhet bör du använda dessa parametrar med försiktighet och endast om du har kunskap om hur du använder dem.Ett exempel på de parametrar som används:
java -Dupdate.limit=10000 -Dcompaction-progress-log=150000 -Dlogback.configurationFile=logback.xml -Xmx8g -jar oak-run-*.jar checkpoints <repository>
Ytterligare metoder för att utlösa rensning av revision additional-methods-of-triggering-revision-cleanup
Förutom metoderna ovan kan du även aktivera funktionen för revisionsrensning med hjälp av JMX-konsolen på följande sätt:
- Öppna JMX-konsolen genom att gå till http://localhost:4502/system/console/jmx
- Klicka på RevisionGarbageCollection MBean.
- I nästa fönster klickar du på startRevisionGC() och sedan på Invoke för att starta jobbet Revision Skräpsamling.