Pulizia revisioni revision-cleanup
Introduzione introduction
Ogni aggiornamento del repository crea una nuova revisione del contenuto. Di conseguenza, con ogni aggiornamento le dimensioni dell'archivio crescono. Per evitare una crescita incontrollata dell'archivio, è necessario ripulire le vecchie revisioni per liberare le risorse del disco. Questa funzionalità di manutenzione è denominata Revision Cleanup (Pulizia delle revisioni). È disponibile come routine offline dal AEM 6.0.
Con AEM 6.3 è stata introdotta una versione online di questa funzionalità chiamata Pulizia revisioni online. Rispetto al cleanup delle revisioni offline in cui l'istanza AEM deve essere chiusa, il cleanup delle revisioni online può essere eseguito mentre l'istanza AEM è online. Il cleanup delle revisioni online è attivato per impostazione predefinita ed è il modo consigliato per eseguire una pulizia delle revisioni.
Nota: Guarda il video per un'introduzione e come utilizzare il cleanup delle revisioni online.
Il processo di pulizia della revisione si articola in tre fasi: stima, compattazione e pulire. La stima determina se eseguire la fase successiva (compattazione) o meno in base alla quantità di rifiuti che potrebbero essere raccolti. Durante la fase di compattazione i segmenti e i file tar vengono riscritti lasciando fuori qualsiasi contenuto non utilizzato. La fase di pulizia rimuove successivamente i vecchi segmenti, compresi eventuali rifiuti che potrebbero contenere. In genere, la modalità offline può recuperare più spazio perché la modalità online deve tenere conto AEM set di lavoro che mantiene i segmenti aggiuntivi da raccogliere.
Per ulteriori dettagli sul cleanup delle revisioni, vedere i seguenti collegamenti:
Inoltre, puoi anche leggere il documentazione ufficiale Oak.
Quando utilizzare il cleanup delle revisioni online anziché il cleanup delle revisioni offline? when-to-use-online-revision-cleanup-as-opposed-to-offline-revision-cleanup
Pulizia revisioni online è il modo consigliato per eseguire la pulizia revisioni. Il cleanup delle revisioni offline deve essere utilizzato solo su base eccezionale, ad esempio prima di eseguire la migrazione al nuovo formato di archiviazione o se l'Assistenza clienti Adobe ti richiede di farlo.
Come eseguire il cleanup delle revisioni online how-to-run-online-revision-cleanup
Il cleanup delle revisioni online è configurato per impostazione predefinita per essere eseguito automaticamente una volta al giorno sia sulle istanze di AEM Author che Publish. È sufficiente definire la finestra di manutenzione durante un periodo con la minore attività dell’utente. È possibile configurare l'attività Pulizia revisioni online come segue:
-
Nella finestra AEM principale, vai a Strumenti - Operazioni - Dashboard - Manutenzione o rivolgiti al tuo browser per:
https://serveraddress:serverport/libs/granite/operations/content/maintenance.html
-
Passa il cursore Finestra Manutenzione giornaliera e fai clic su Impostazioni icona.
-
Immetti i valori desiderati (ricorrenza, ora di inizio, ora di fine) e fai clic su Salva.
In alternativa, se si desidera eseguire manualmente l'attività di pulizia della revisione, è possibile:
-
Vai a Strumenti - Operazioni - Dashboard - Manutenzione o sfogliare direttamente in
https://serveraddress:serverport/libs/granite/operations/content/maintenance.html
-
Fai clic sul pulsante Finestra Manutenzione giornaliera.
-
Passa il puntatore del mouse Pulizia revisioni icona.
-
Fai clic su Esegui.
Esecuzione del cleanup delle revisioni online dopo il cleanup delle revisioni offline running-online-revision-cleanup-after-offline-revision-cleanup
Il processo di pulizia revisioni recupera vecchie revisioni per generazioni. Ciò significa che ogni volta che si esegue il cleanup delle revisioni viene creata e mantenuta una nuova generazione sul disco. Esiste tuttavia una differenza tra i due tipi di pulizia revisioni: la pulizia revisioni offline mantiene una generazione mentre la pulizia revisioni online mantiene due generazioni. Quindi, quando esegui la pulizia revisioni online dopo la pulizia della revisione offline avviene come segue:
- Dopo la prima esecuzione di pulizia della revisione online, la dimensione dell'archivio raddoppierà. Questo accade perché ci sono due generazioni che vengono conservate sul disco.
- Durante le esecuzioni successive, l'archivio cresce temporaneamente durante la creazione della nuova generazione e quindi si stabilizza di nuovo alle dimensioni che aveva dopo la prima esecuzione, in quanto il processo di pulizia della revisione online rireclama la generazione precedente.
Inoltre, ricorda che a seconda del tipo e del numero di commit, ogni generazione può variare in dimensione rispetto a quella precedente, in modo che la dimensione finale possa variare da un'esecuzione all'altra.
A causa di questo fatto, si raccomanda di dimensionare il disco almeno due o tre volte più grande della dimensione dell'archivio inizialmente stimata.
Modalità Di Compattazione Completa E Dettagliata full-and-tail-compaction-modes
AEM 6.4 Introduce due nuove modalità per compattazione fase del processo di pulizia delle revisioni online:
- La compattazione completa la modalità riscrive tutti i segmenti e i file tar nell'intero archivio. La successiva fase di pulizia può quindi rimuovere la quantità massima di rifiuti nel repository. Dal momento che la compattazione completa interessa l'intero archivio, richiede una notevole quantità di risorse di sistema e tempo per essere completata. La compattazione completa corrisponde alla fase di compattazione del AEM 6.3.
- La compattazione della coda la modalità riscrive solo i segmenti e i file tar più recenti nell’archivio. I segmenti e i file tar più recenti sono quelli che sono stati aggiunti dopo l’ultima esecuzione della compattazione completa o tail. La successiva fase di pulizia può quindi rimuovere solo i rifiuti contenuti nella parte recente dell'archivio. Poiché la compattazione di coda influisce solo su una parte dell'archivio, richiede notevolmente meno risorse di sistema e tempo per completare la compattazione completa.
Tali modalità di compattazione costituiscono un compromesso tra efficienza e consumo di risorse: mentre la compattazione della coda è meno efficace, ha anche un minore impatto sul normale funzionamento del sistema. Al contrario, la compattazione completa è più efficace ma ha un impatto maggiore sul normale funzionamento del sistema.
AEM 6.4 introduce anche un meccanismo di deduplicazione dei contenuti più efficiente durante la compattazione, che riduce ulteriormente l’impronta su disco dell’archivio.
I due grafici qui di seguito, presentano i risultati di prove interne di laboratorio che illustrano la riduzione dei tempi medi di esecuzione e l'impronta media su disco nella AEM 6.4 rispetto alla AEM 6.3:
Come configurare la compattazione completa e dettagliata how-to-configure-full-and-tail-compaction
La configurazione predefinita esegue la compattazione della coda nei giorni della settimana e la compattazione completa la domenica. La configurazione predefinita può essere modificata utilizzando il nuovo valore di configurazione full.gc.days
del RevisionCleanupTask
operazione di manutenzione.
Quando configuri le full.gc.days
Il valore indica che la compattazione completa verrà eseguita durante i giorni definiti nel valore e la compattazione tail verrà eseguita nei giorni non definiti nel valore. Ad esempio, se configuri la compattazione completa da eseguire domenica, la compattazione della coda viene eseguita dal lunedì al sabato. Se, ad esempio, si configura la compattazione completa per l'esecuzione ogni giorno della settimana, la compattazione della coda non verrà eseguita affatto.
Inoltre, prendere in considerazione che:
- Compattazione della coda è meno efficace e ha un minore impatto sulle normali operazioni del sistema. Esso è pertanto destinato ad essere eseguito nei giorni lavorativi.
- Compattazione completa è più efficace, ma ha anche un impatto maggiore sulle normali operazioni del sistema. È pertanto destinato ad essere utilizzato fuori dei giorni lavorativi.
- La compattazione della coda e la compattazione completa dovrebbero essere programmate per funzionare durante le ore di punta.
Risoluzione dei problemi troubleshooting
Quando si utilizzano le nuove modalità di compattazione, tenere presente quanto segue:
- Puoi monitorare l’attività di input/output (I/O), ad esempio: Operazioni I/O, CPU in attesa di IO, dimensione della coda di commit. Questo aiuta a determinare se il sistema sta diventando legato a I/O e richiede l'upsize.
- La
RevisionCleanupTaskHealthCheck
indica lo stato di integrità generale del cleanup delle revisioni online. Funziona come nel AEM 6.3 e non distingue tra compattazione completa e compattazione della coda. - I messaggi di log contengono informazioni pertinenti sulle modalità di compattazione. Ad esempio, all'avvio del cleanup delle revisioni online, i messaggi di log corrispondenti indicheranno la modalità di compattazione. Inoltre, in alcuni casi d’angolo, il sistema ripristina la compattazione completa quando è stato pianificato l’esecuzione di una compattazione di coda e i messaggi di log indicheranno questa modifica. I campioni di log qui sotto indicano la modalità di compattazione e il passaggio dalla coda alla completa compattazione:
TarMK GC: running tail compaction
TarMK GC: no base state available, running full compaction instead
Limitazioni note known-limitations
In alcuni casi, alternando tra la coda e le modalità di compattazione completa ritarda il processo di pulizia. Più precisamente, l’archivio crescerà dopo una compattazione completa (raddoppierà le dimensioni). Lo spazio aggiuntivo verrà recuperato nella successiva compattazione tail, quando l’archivio scende al di sotto della dimensione di compattazione precompleta. È inoltre necessario evitare l’esecuzione di operazioni di manutenzione parallele.
Si consiglia di ridimensionare il disco almeno due o tre volte più grande della dimensione dell'archivio inizialmente stimata.
Domande frequenti sul cleanup delle revisioni online online-revision-cleanup-frequently-asked-questions
Considerazioni sull'aggiornamento a AEM 6.4 aem-upgrade-considerations
Migrazione a Oak Segment Tar migrating-to-oak-segment-tar
Esecuzione del cleanup delle revisioni online running-online-revision-cleanup
Monitoraggio del cleanup delle revisioni online monitoring-online-revision-cleanup
Risoluzione dei problemi del cleanup delle revisioni online troubleshooting-online-revision-cleanup
Risoluzione Dei Problemi In Base Ai Messaggi Di Errore troubleshooting-based-on-error-messages
Il file error.log sarà dettagliato se si verificano incidenti durante il processo di pulizia della revisione online. La seguente matrice ha lo scopo di spiegare i messaggi più comuni e fornire soluzioni possibili:
Come eseguire il cleanup delle revisioni offline how-to-run-offline-revision-cleanup
-
Per le versioni Oak Da 1.0.0 a 1.0.11 o Da 1.1.0 a 1.1.6, utilizza la versione oak-run 1.0.11
-
Per le versioni Oak più recente di quanto sopra, utilizza la versione di Oak-run che corrisponde al nucleo Oak dell'installazione di AEM.
Adobe fornisce uno strumento chiamato corsa Oak per eseguire la pulizia revisioni. Può essere scaricato nel seguente percorso:
https://repo1.maven.org/maven2/org/apache/jackrabbit/oak-run/
Lo strumento è un jar eseguibile che può essere eseguito manualmente per compattare l'archivio. Il processo viene chiamato pulizia revisioni offline perché l'archivio deve essere chiuso per eseguire correttamente lo strumento. Pianifica la pulizia in base alla finestra di manutenzione.
Per suggerimenti su come aumentare le prestazioni del processo di pulizia, vedi Aumento delle prestazioni del cleanup delle revisioni offline.
-
Assicurati sempre di avere un backup recente dell'istanza AEM.
AEM.
-
(Facoltativo) Utilizza lo strumento per trovare i vecchi checkpoint:
code language-xml java -jar oak-run.jar checkpoints install-folder/crx-quickstart/repository/segmentstore
-
(Facoltativo) Quindi, elimina i punti di controllo senza riferimento:
code language-xml java -jar oak-run.jar checkpoints install-folder/crx-quickstart/repository/segmentstore rm-unreferenced
-
Esegui la compattazione e attendine il completamento:
code language-xml java -jar -Dsun.arch.data.model=32 oak-run.jar compact install-folder/crx-quickstart/repository/segmentstore
Aumento delle prestazioni del cleanup delle revisioni offline increasing-the-performance-of-offline-revision-cleanup
Lo strumento oak-run introduce diverse funzioni che mirano ad aumentare le prestazioni del processo di pulizia della revisione e ridurre al minimo la finestra di manutenzione.
L’elenco include diversi parametri della riga di comando, come descritto di seguito:
-
Mappa. È possibile impostare questo valore come true o false. Se impostato su true, viene utilizzato l'accesso mappato alla memoria. Se impostato su false, viene utilizzato l'accesso ai file. Se non specificato, l'accesso mappato alla memoria viene utilizzato su sistemi a 64 bit e l'accesso ai file viene utilizzato su sistemi a 32 bit. In Windows, l’accesso regolare ai file viene sempre applicato e questa opzione viene ignorata. Questo parametro ha sostituito il parametro -Dtar.memoryMapped .
-
-Dupdate.limit. Definisce la soglia per lo scaricamento su disco di una transazione temporanea. Il valore predefinito è 10000.
-
-Intervallo depressa. Numero di voci della mappa di compattazione da mantenere fino alla compressione della mappa corrente. Il valore predefinito è 1000000. Se è disponibile una quantità sufficiente di memoria heap, è necessario aumentare questo valore a un numero ancora più alto per il throughput più rapido. Questo parametro è stato rimosso nella versione 1.6 di Oak e non ha alcun effetto.
-
-Dcompaction-progress-log. Il numero di nodi compatti che verranno registrati. Il valore predefinito è 150000, il che significa che i primi 150000 nodi compattati verranno registrati durante l'operazione. Utilizza questo insieme al parametro successivo documentato di seguito.
-
-Dtar.PersistCompactionMap. Imposta questo parametro su true per utilizzare lo spazio su disco invece della memoria heap per la persistenza della mappa di compattazione. Richiede lo strumento oak-run versioni 1.4 e superiore. Per ulteriori dettagli, cfr. la domanda 3 nel Domande frequenti sul cleanup delle revisioni offline sezione . Questo parametro è stato rimosso nella versione 1.6 di Oak e non ha alcun effetto.
-
—forza. Forza la compattazione e ignora una versione non corrispondente dell’archivio segmenti.
--force
Il parametro aggiornerà l’archivio segmenti alla versione più recente, incompatibile con le versioni Oak precedenti. Inoltre, prendere in considerazione che non è possibile alcun downgrade. Come regola generale, è necessario utilizzare questi parametri con cautela e solo se si è esperti su come utilizzarli.Esempio dei parametri in uso:
java -Dupdate.limit=10000 -Dcompaction-progress-log=150000 -Dlogback.configurationFile=logback.xml -Xmx8g -jar oak-run-*.jar checkpoints <repository>
Metodi aggiuntivi per attivare il cleanup delle revisioni additional-methods-of-triggering-revision-cleanup
Oltre ai metodi descritti in precedenza, puoi anche attivare il meccanismo di pulizia revisioni utilizzando la console JMX come segue:
- Apri la console JMX da http://localhost:4502/system/console/jmx
- Fai clic sul pulsante RevisionGarbageCollection MBean.
- Nella finestra successiva, fai clic su startRevisionGC() e poi Richiama per avviare il processo Revision Garbage Collection.