Pulizia revisioni revision-cleanup

Introduzione introduction

Ogni aggiornamento del repository crea una revisione del contenuto. Di conseguenza, con ogni aggiornamento, le dimensioni dell’archivio aumentano. Le precedenti revisioni devono essere pulite per liberare le risorse su disco. Questo è importante per evitare una crescita incontrollata dell’archivio. Questa funzionalità di manutenzione è denominata Pulizia revisioni. È disponibile come routine offline a partire da Adobe Experience Manager (AEM) 6.0.

Con AEM 6.3 e versioni successive, è stata introdotta una versione online di questa funzionalità chiamata Online Revision Cleanup (Pulizia delle revisioni online). Rispetto alla funzione di pulizia delle revisioni offline, in cui l'istanza AEM deve essere chiusa, la funzione di pulizia delle revisioni online può essere eseguita mentre l'istanza AEM è online. La funzione Pulizia revisioni online è attivata per impostazione predefinita ed è la modalità consigliata per eseguire la pulizia delle revisioni.

Nota: Guarda il video per un’introduzione e come utilizzare la funzione di pulizia delle revisioni online.

Il processo di pulizia delle revisioni è suddiviso in tre fasi: stima, compattazione, e pulizia. La stima determina se eseguire la fase successiva (compattazione) o meno in base alla quantità di rifiuti raccolti. Durante la fase di compattazione, i segmenti e i file tar vengono riscritti lasciando fuori il contenuto inutilizzato. La fase di pulizia rimuove quindi i vecchi segmenti, inclusi eventuali rifiuti in essi contenuti. La modalità offline può in genere recuperare più spazio, perché la modalità online deve tenere conto del working set AEM che impedisce la raccolta di segmenti aggiuntivi.

Per ulteriori dettagli sulla pulizia delle revisioni, consulta i seguenti collegamenti:

Inoltre, puoi leggere documentazione Oak ufficiale.

Quando utilizzare la pulizia revisioni in linea anziché la pulizia revisioni non in linea? when-to-use-online-revision-cleanup-as-opposed-to-offline-revision-cleanup

La pulizia delle revisioni online è il metodo consigliato per eseguire la pulizia delle revisioni. La funzione di pulizia delle revisioni offline deve essere utilizzata solo in casi eccezionali, ad esempio prima di migrare al nuovo formato di archiviazione o su richiesta dell’Assistenza clienti di Adobe.

Eseguire la pulizia delle revisioni online how-to-run-online-revision-cleanup

La funzione di pulizia delle revisioni online è configurata per impostazione predefinita per essere eseguita automaticamente una volta al giorno sia sulle istanze di creazione AEM che su quelle di pubblicazione. È sufficiente definire la finestra di manutenzione durante un periodo con l’attività utente meno intensa. È possibile configurare l'attività Pulizia revisioni in linea come indicato di seguito:

  1. Nella finestra principale dell’AEM, vai a Strumenti - Operazioni - Dashboard - Manutenzione oppure puntare il browser su: https://serveraddress:serverport/libs/granite/operations/content/maintenance.html

    chlimage_1-90

  2. Passa il cursore sopra Finestra di manutenzione giornaliera e fai clic su Impostazioni icona.

    chlimage_1-91

  3. Immetti i valori desiderati (ricorrenza, ora di inizio, ora di fine) e fai clic su Salva.

    chlimage_1-92

In alternativa, se si desidera eseguire manualmente l'attività di pulizia delle revisioni, è possibile:

  1. Vai a Strumenti - Operazioni - Dashboard - Manutenzione o naviga direttamente in https://serveraddress:serverport/libs/granite/operations/content/maintenance.html

  2. Fai clic su Finestra di manutenzione giornaliera.

  3. Passa il puntatore del mouse sopra Pulizia revisioni icona.

  4. Clic Esegui.

    chlimage_1-93

Esecuzione della pulizia delle revisioni in linea dopo la pulizia delle revisioni non in linea running-online-revision-cleanup-after-offline-revision-cleanup

Il processo di pulizia delle revisioni consente di recuperare le precedenti revisioni per generazioni. Ciò significa che ogni volta che si esegue la pulizia delle revisioni, viene creata e mantenuta una nuova generazione sul disco. Esiste tuttavia una differenza tra i due tipi di pulizia delle revisioni: la pulizia delle revisioni offline mantiene una generazione mentre la pulizia delle revisioni online ne mantiene due. Quindi, quando si esegue la pulizia delle revisioni online dopo pulizia revisioni offline si verifica quanto segue:

  1. Dopo la prima esecuzione della pulizia della revisione online, le dimensioni dell’archivio raddoppiano. Questo accade perché ora ci sono due generazioni che vengono tenute su disco.
  2. Durante le esecuzioni successive, l’archivio aumenterà temporaneamente durante la creazione della nuova generazione e quindi si stabilizzerà di nuovo alle dimensioni che aveva dopo la prima esecuzione, mentre il processo di pulizia della revisione online recupera la generazione precedente.

Inoltre, tieni presente che a seconda del tipo e del numero di commit, ogni generazione può variare in termini di dimensioni rispetto alla precedente, pertanto la dimensione finale può variare da un’esecuzione all’altra.

Per questo motivo, si consiglia di ridimensionare il disco almeno due o tre volte più grande della dimensione dell'archivio inizialmente stimata.

Modalità Di Compattazione Completa E Coda full-and-tail-compaction-modes

AEM 6.5 introduce due nuove modalità per compattazione fase del processo di pulizia delle revisioni in linea:

  • Il 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 oggetti inattivi dall’archivio. Poiché la compattazione completa interessa l'intero archivio, richiede una quantità considerevole di risorse di sistema e tempo per il completamento. La compattazione completa corrisponde alla fase di compattazione nell'AEM 6.3.
  • Il compattazione 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 dall’ultima esecuzione della compattazione completa o di coda. La successiva fase di pulizia può quindi rimuovere solo i rifiuti contenuti nella parte recente dell’archivio. Poiché la compattazione finale interessa solo una parte dell’archivio, richiede notevolmente meno risorse di sistema e meno tempo rispetto alla compattazione completa.

Queste modalità di compattazione rappresentano un compromesso tra efficienza e consumo di risorse: mentre la compattazione di coda è meno efficace, ha anche un impatto minore sul normale funzionamento del sistema. Al contrario, la compattazione completa è più efficace, ma ha un impatto maggiore sul normale funzionamento del sistema.

AEM 6.5 introduce inoltre un meccanismo di deduplicazione dei contenuti più efficiente durante la compattazione, che riduce ulteriormente l'ingombro su disco dell'archivio.

I due grafici seguenti, presentano i risultati dei test di laboratorio interni che illustrano la riduzione dei tempi medi di esecuzione e l'impronta media su disco nel AEM 6.5 rispetto al AEM 6.3:

onrc-duration-6_4vs63 segmentstore-6_4vs63

Come configurare la compattazione completa e finale how-to-configure-full-and-tail-compaction

La configurazione predefinita esegue la compattazione finale nei giorni feriali e la compattazione completa nelle domeniche. La configurazione predefinita può essere modificata utilizzando il nuovo valore di configurazione full.gc.days del RevisionCleanupTask attività di manutenzione.

Quando si configura full.gc.days valore, la compattazione completa viene eseguita nei giorni definiti nel valore e la compattazione finale viene eseguita nei giorni non definiti nel valore. Ad esempio, se configuri la compattazione completa per l’esecuzione la domenica, la compattazione finale viene eseguita dal lunedì al sabato. Ad esempio, se configuri la compattazione completa in modo che venga eseguita ogni giorno della settimana, la compattazione finale non viene eseguita affatto.

Inoltre, considera che:

  • Compressione coda è meno efficace e ha un impatto minore sulle normali operazioni del sistema. Esso è pertanto destinato a essere utilizzato nelle giornate lavorative.
  • Compattazione completa è più efficace, ma ha anche un impatto maggiore sulle normali operazioni di sistema. Esso deve pertanto essere utilizzato al di fuori dei giorni lavorativi.
  • La compattazione della coda e la compattazione completa devono essere programmate per l'esecuzione nelle ore di minore utilizzo.

Risoluzione dei problemi troubleshooting

Quando utilizzate le nuove modalità di compattazione, tenete presente quanto segue:

  • È possibile monitorare l'attività di input/output (I/O), ad esempio: operazioni di I/O, CPU in attesa di I/O, dimensione coda commit. Questo aiuta a determinare se il sistema sta diventando legato all'I/O e richiede un upsize.
  • Il RevisionCleanupTaskHealthCheck indica lo stato di integrità complessivo di Pulizia revisioni in linea. Funziona allo stesso modo di AEM 6.3 e non distingue tra compattazione completa e di coda.
  • I messaggi di registro contengono informazioni rilevanti sulle modalità di compattazione. Ad esempio, all'avvio di Pulizia revisioni in linea, i messaggi di registro corrispondenti indicano la modalità di compattazione. Inoltre, in alcuni casi d'angolo, il sistema ripristina la compattazione completa quando era pianificata l'esecuzione di una compattazione finale e i messaggi di registro indicano questa modifica. I campioni di log riportati di seguito indicano la modalità di compattazione e il passaggio dalla coda alla compattazione completa:
TarMK GC: running tail compaction
TarMK GC: no base state available, running full compaction instead

Limitazioni note known-limitations

A volte, l'alternanza tra la modalità di coda e la modalità di compattazione completa ritarda il processo di pulizia. Più precisamente, l’archivio crescerà dopo una compattazione completa (raddoppia in dimensioni). Lo spazio aggiuntivo viene recuperato nella successiva compattazione finale, quando l’archivio scende al di sotto della dimensione di compattazione pre-completa. È inoltre necessario evitare l’esecuzione di attività di manutenzione parallele.

Si consiglia di ridimensionare il disco almeno due o tre volte più grande della dimensione dell'archivio inizialmente stimata.

Domande frequenti sulla pulizia delle revisioni online online-revision-cleanup-frequently-asked-questions

Considerazioni sull’aggiornamento a AEM 6.5 aem-upgrade-considerations

Domande
Risposte
Cosa devo sapere quando eseguo l’aggiornamento a AEM 6.5?

Il formato di persistenza di TarMK cambia con AEM 6.5. Queste modifiche non richiedono un passaggio di migrazione proattivo. Gli archivi esistenti vengono sottoposti a una migrazione continua, trasparente per l’utente. Il processo di migrazione viene avviato la prima volta che l’AEM 6.5 (o strumenti correlati) accede all’archivio.

Una volta avviata la migrazione al formato di persistenza AEM 6.5, l’archivio non può essere ripristinato al precedente formato di persistenza AEM 6.3.

Migrazione a Oak Segment Tar migrating-to-oak-segment-tar

Domande
Risposte
Perché devo migrare l’archivio?

Nell’AEM 6.3 erano necessarie modifiche al formato di archiviazione, in particolare per migliorare le prestazioni e l’efficacia di Online Revision Cleanup. Queste modifiche non sono compatibili con le versioni precedenti e gli archivi creati con il vecchio segmento Oak (AEM 6.2 e precedenti) devono essere migrati.

Ulteriori vantaggi derivanti dalla modifica del formato di storage:

Il formato Tar precedente è ancora supportato?
Solo il nuovo Oak Segment Tar è supportato con AEM 6.3 o versione successiva.
La migrazione dei contenuti è sempre obbligatoria?
Sì. A meno che tu non inizi con una nuova istanza, dovrai sempre migrare il contenuto.
È possibile eseguire l’aggiornamento alla versione 6.3 o successiva ed eseguire la migrazione in un secondo momento (ad esempio, utilizzando un’altra finestra di manutenzione)?
No, come spiegato in precedenza, la migrazione dei contenuti è obbligatoria.
È possibile evitare i tempi di inattività durante la migrazione?
No. Questa operazione non può essere eseguita una sola volta in un’istanza in esecuzione.
Cosa succede se eseguo accidentalmente il file nel formato di archivio errato?
Se tenti di eseguire il modulo oak-segment su un archivio oak-segment-tar (o viceversa), l’avvio non riesce e viene visualizzato un messaggio IllegalStateException con il messaggio "Formato segmento non valido". I dati non vengono danneggiati.
Sarà necessaria una reindicizzazione degli indici di ricerca?
No. La migrazione da oak-segment a oak-segment-tar introduce modifiche nel formato del contenitore. I dati contenuti non sono interessati e non verranno modificati.
Come calcolare al meglio lo spazio su disco previsto necessario durante e dopo la migrazione?
La migrazione equivale a ricreare segmentstore nel nuovo formato. Questa può essere utilizzata per stimare lo spazio su disco aggiuntivo necessario durante la migrazione. Dopo la migrazione, il vecchio archivio segmenti può essere eliminato per recuperare spazio.
Come stimare al meglio la durata della migrazione?
Le prestazioni di migrazione possono essere notevolmente migliorate se pulizia revisioni offline viene eseguito prima della migrazione. Si consiglia a tutti i clienti di eseguirlo come prerequisito del processo di aggiornamento. In generale, la durata della migrazione deve essere simile alla durata dell'attività di pulizia revisioni offline, supponendo che l'attività di pulizia revisioni offline sia stata eseguita prima della migrazione.

Esecuzione della pulizia delle revisioni in linea running-online-revision-cleanup

Domande
Risposte
Con quale frequenza deve essere eseguita la pulizia delle revisioni online?
Una volta al giorno. Questa è la configurazione predefinita nel dashboard operazioni.
Come posso configurare l'ora di inizio dell'attività di manutenzione di Online Revision Cleanup?
Consulta la Eseguire la pulizia delle revisioni in linea sezione.
Esiste una frequenza massima che non deve essere superata per la pulizia delle revisioni online?
Si consiglia di eseguire la pulizia delle revisioni online una volta al giorno, come configurato per impostazione predefinita.
Quali sono gli indicatori chiave che determinano la frequenza con cui deve essere eseguita la pulizia delle revisioni online?
Non è necessario determinare la frequenza in quanto la funzione di pulizia delle revisioni in linea è configurata come attività di manutenzione ed è eseguita automaticamente ogni giorno.
Perché la funzione Pulizia revisioni in linea non recupera spazio quando viene eseguita per la prima volta?
La funzione Pulizia revisioni in linea recupera le precedenti revisioni per generazioni. A ogni esecuzione della pulizia delle revisioni viene generata una nuova generazione. Solo i contenuti che sono vecchi di almeno due generazioni saranno recuperati, il che significa che alla prima esecuzione non c'è nulla da recuperare.
Perché la prima pulizia delle revisioni online non recupera spazio quando viene eseguita dopo la pulizia delle revisioni offline?

Offline Revision Cleanup recupera tutto tranne l'ultima generazione rispetto alle ultime due generazioni per Online Revision Cleanup. Se è presente un nuovo archivio, la funzione di pulizia delle revisioni online non recupererà spazio quando viene eseguita per la prima volta dopo la pulizia delle revisioni offline, perché non esiste una generazione abbastanza vecchia da poter essere recuperata.

Inoltre, leggi la sezione "Esecuzione della pulizia delle revisioni online dopo la pulizia delle revisioni offline" di questo capitolo.

In genere le finestre di Pulizia revisioni in linea di Author e Publish sono diverse?
Questo dipende dalle ore di ufficio e dai modelli di traffico della presenza online del cliente. Le finestre di manutenzione devono essere configurate al di fuori dei tempi di produzione principali per garantire la migliore efficacia della pulizia. Per più istanze di pubblicazione AEM (farm TarMK), le finestre di manutenzione per la pulizia delle revisioni online devono essere scaglionate.
Esistono prerequisiti prima di eseguire la pulizia delle revisioni in linea?
La funzione di pulizia delle revisioni online è disponibile solo con le versioni AEM 6.3 e successive. Inoltre, se utilizzi una versione precedente di AEM, devi migrare al nuovo Tar segmento Oak.
Quali sono i fattori che determinano la durata della pulizia delle revisioni in linea?

I fattori sono:

  • Dimensione archivio
  • Caricare sul sistema (richieste al minuto, in particolare operazioni di scrittura)
  • Pattern di attività (letture e scritture)
  • Specifiche hardware (prestazioni CPU, memoria, IOPS)
Gli autori possono ancora lavorare mentre è in esecuzione la pulizia delle revisioni online?
Sì, la pulizia delle revisioni in linea può gestire scritture simultanee. Tuttavia, la funzione di pulizia delle revisioni in linea funziona in modo più rapido ed efficiente senza transazioni di scrittura simultanee. L'Adobe consiglia di pianificare l'attività di manutenzione di Pulizia revisioni in linea in modo che sia relativamente silenziosa e senza traffico elevato.
Quali sono i requisiti minimi per lo spazio su disco e la memoria heap durante l'esecuzione di Online Revision Cleanup?

Lo spazio su disco viene costantemente monitorato durante la pulizia delle revisioni in linea. Se lo spazio su disco disponibile scende al di sotto di un valore critico, il processo viene annullato. Il valore critico è pari al 25% dell'attuale spazio su disco dell'archivio e non è configurabile.

L'Adobe consiglia di ridimensionare il disco almeno due o tre volte più grande della dimensione dell'archivio inizialmente stimata.

Lo spazio heap libero viene monitorato continuamente durante il processo di pulizia. Se lo spazio heap libero scende al di sotto di un valore critico, il processo viene annullato. Il valore critico viene configurato tramite org.apache.jackrabbit.oak.segment.SegmentNodeStoreService#MEMORY_THRESHOLD. Il valore predefinito è 15%.

Recommendations per il dimensionamento heap di compattazione minimo non è separato dai consigli per il dimensionamento della memoria AEM. Generalmente: Se un’istanza dell’AEM è sufficientemente grande da far fronte ai casi d’uso e al relativo payload previsto, il processo di pulizia ottiene una quantità di memoria sufficiente.

Qual è l'impatto previsto sulle prestazioni durante l'esecuzione della pulizia delle revisioni online?
La pulizia delle revisioni in linea è un processo in background che legge e scrive nel repository contemporaneamente alle normali operazioni di sistema. In particolare, potrebbe dover acquisire l’accesso esclusivo all’archivio per un breve periodo di tempo, impedendo ad altri thread di scrivere nell’archivio.
Per quanto tempo è prevista l'esecuzione di Pulizia revisioni online?
Non dovrebbero essere necessarie più di due ore per essere eseguiti in base all’Adobe più recente dei test delle prestazioni eseguiti internamente.
Cosa fare se la pulizia delle revisioni online richiede più tempo?
  • Assicurati che venga eseguito ogni giorno.
  • Assicurati che venga eseguito durante le attività minime dell’archivio configurando di conseguenza le finestre di manutenzione nel dashboard operazioni.
  • Aumento delle risorse di sistema (CPU, memoria, I/O).
Cosa succede se la pulizia delle revisioni in linea supera le finestre di manutenzione configurate?
Assicurati che altre attività di manutenzione non ne ritardino l’esecuzione. Ciò potrebbe verificarsi se nella stessa finestra di manutenzione vengono eseguite più attività di manutenzione rispetto a Pulizia revisioni online. Le attività di manutenzione vengono eseguite in sequenza senza un ordine configurabile.
Perché viene ignorata la raccolta di oggetti inattivi di revisione?

Pulizia revisioni si basa su una fase di stima per decidere se c'è abbastanza immondizia da pulire. Lo stimatore confronta la dimensione corrente con la dimensione dell’archivio dopo l’ultima compattazione. Se la dimensione supera il delta configurato, viene eseguita la pulizia. Il delta di dimensione è impostato su 1 GB. Ciò significa che se la dimensione dell’archivio non è aumentata di 1 GB dall’ultima esecuzione di pulizia, la nuova iterazione di pulizia della revisione viene ignorata.

Di seguito sono riportate le voci di registro pertinenti per la fase di stima:

  • Esecuzioni di Revision GC: Il delta di dimensione è N% o N/N (N/N byte), quindi viene eseguita la compattazione
  • Revisione eseguita da GC non eseguire: Il delta della dimensione è N% o N/N (N/N byte), quindi per il momento la compattazione viene ignorata
È possibile interrompere in modo sicuro la compattazione automatica se l'impatto sulle prestazioni è troppo elevato?
Sì. A partire da AEM 6.3, può essere arrestato in modo sicuro tramite la finestra delle attività di manutenzione all’interno del dashboard operazioni o tramite JMX.
Se l'istanza AEM viene chiusa durante un'attività di pulizia pianificata, il processo viene interrotto in modo sicuro oppure l'arresto viene bloccato fino al completamento della compattazione?
La pulizia delle revisioni viene interrotta e l’archivio viene chiuso in modo sicuro.
Cosa succede quando il sistema si arresta durante la pulizia delle revisioni in linea?
In tali casi non vi è alcun rischio di danneggiamento dei dati. Gli avanzi dei rifiuti vengono eliminati da una sequenza successiva.
Qual è l'impatto della mancata esecuzione della pulizia delle revisioni online?
Riduzione delle prestazioni nel tempo.
Quali revisioni vengono raccolte?
Per impostazione predefinita, la funzione Pulizia revisioni in linea raccoglie solo le revisioni che hanno almeno 24 ore.
Cosa succede se si verificano troppe interferenze da scritture simultanee nell’archivio?

Se nel sistema è presente concorrenza in scrittura, la pulizia delle revisioni online potrebbe richiedere l'accesso esclusivo in scrittura per eseguire il commit delle modifiche al termine di un ciclo di compattazione. Il sistema entra in modalità forceCompact, come spiegato più dettagliatamente nella Documentazione Oak. Durante la forza di compattazione, viene acquisito un blocco di scrittura esclusivo per eseguire il commit delle modifiche senza interferire con le scritture simultanee. Per limitare l’impatto sui tempi di risposta, è possibile definire un valore di timeout. Questo valore è impostato su un minuto per impostazione predefinita, il che significa che se la compattazione forzata non viene completata entro un minuto, il processo di compattazione viene interrotto a favore di commit simultanei.

La durata della forza compatta dipende dai seguenti fattori:

  • hardware: in particolare IOPS. La durata diminuisce con più IOPS.
  • segment store size: la durata aumenta con le dimensioni dell’archivio segmenti.
Come viene eseguita la pulizia delle revisioni online in un'istanza in standby?

In una configurazione di standby a freddo, è necessario configurare solo l'istanza principale per eseguire la pulizia delle revisioni in linea. Nell’istanza in standby, non è necessario pianificare in modo specifico la pulizia delle revisioni online.

L'operazione corrispondente in un'istanza in standby è la pulizia automatica, che corrisponde alla fase di pulizia della pulizia delle revisioni in linea. La pulizia automatica viene eseguita nell'istanza in standby dopo l'esecuzione della pulizia delle revisioni in linea nell'istanza principale.

Le fasi di stima e compattazione non verranno eseguite su un'istanza in standby.

Offline Revision Cleanup è in grado di liberare più spazio su disco rispetto a Online Revision Cleanup?

La funzione di pulizia delle revisioni offline può rimuovere immediatamente le precedenti revisioni, mentre la funzione di pulizia delle revisioni online deve tenere conto delle precedenti revisioni a cui fa ancora riferimento lo stack dell'applicazione. Il primo può quindi rimuovere la spazzatura in modo più aggressivo rispetto al secondo, dove l’effetto viene ammortizzato nel corso di alcuni cicli di raccolta della spazzatura.

Inoltre, leggi la sezione "Esecuzione della pulizia delle revisioni online dopo la pulizia delle revisioni offline" di questo capitolo.

Considerazioni sulle operazioni dei file mappati in memoria?
  • In ambienti Windows, l'accesso regolare ai file viene sempre applicato in modo da non utilizzare l'accesso mappato alla memoria. Come consiglio generale, tutta la RAM disponibile deve essere allocata all’heap e la dimensione segmentCache deve essere aumentata. Aumenta segmentCache aggiungendo l’opzione segmentCache.size a org.apache.jackrabbit.oak.segment.SegmentNodeStoreService.config (ad esempio, segmentCache.size=20480). Ricordarsi di lasciare fuori un po' di RAM per il sistema operativo e altri processi.
  • In ambienti non Windows, aumentare le dimensioni della memoria fisica per migliorare la mappatura della memoria dell'archivio.

Monitoraggio della pulizia delle revisioni online monitoring-online-revision-cleanup

Cosa deve essere monitorato durante la pulizia delle revisioni online?
  • Lo spazio su disco deve essere monitorato quando è abilitata la pulizia delle revisioni in linea. La pulizia non viene eseguita o termina in modo preventivo quando lo spazio su disco è insufficiente.
  • Controllare i registri per l'ora di completamento della pulizia delle revisioni in linea. Non dovrebbe richiedere più di 2 ore.
  • Numero di punti di controllo. Se durante l’esecuzione della compattazione sono presenti più di 3 punti di controllo, si consiglia di pulirli.
Come verificare se la pulizia delle revisioni in linea è stata completata correttamente?

Per verificare se la pulizia delle revisioni in linea è stata completata correttamente, controllare i registri.

Ad esempio, "TarMK GC #{}: compaction completed in {} ({} ms), after {} cycles"indica che il passaggio di compattazione è stato completato correttamente, a meno che non sia preceduto dal messaggio"TarMK GC #{}: compaction gave up compacting concurrent commits after {} cycles", il che significa che c’era troppo carico simultaneo.

Di conseguenza c'è un messaggio ".TarMK GC #{}: cleanup completed in {} ({} ms" per il completamento corretto del passaggio di pulizia.

Dove è possibile trovare le statistiche delle ultime esecuzioni di pulizia delle revisioni online?

Le statistiche relative a stato, avanzamento e stato sono esposte tramite JMX (SegmentRevisionGarbageCollection MBean). Per ulteriori dettagli su SegmentRevisionGarbageCollection MBean, leggi paragrafo successivo.

L'avanzamento può essere tracciato tramite EstimatedRevisionGCCompletion attributo del SegmentRevisionGarbageCollection MBean.

È possibile ottenere un riferimento della voce MBean utilizzando ObjectName org.apache.jackrabbit.oak:name="Segment node store revision garbage collection",type="SegmentRevisionGarbageCollection".

Le statistiche sono disponibili solo dall'ultimo avvio del sistema. Gli strumenti di monitoraggio esterno potrebbero essere utilizzati per mantenere i dati oltre il tempo di attività dell’AEM. Consulta la documentazione AEM per allegare i controlli sanitari a Nagios come esempio per uno strumento di monitoraggio esterno.

Quali sono le voci di registro rilevanti?
  • Pulizia revisioni online avviata/interrotta
    • La pulizia delle revisioni in linea è composta da tre fasi: stima, compattazione e pulizia. La stima può forzare la compattazione e la pulizia a saltare se l’archivio non contiene abbastanza oggetti inattivi. Nell’ultima versione dell’AEM, il messaggio "TarMK GC #{}: estimation started" segna l’inizio della stima, "TarMK GC #{}: compaction started, strategy={}" indica l'inizio della compattazione e "TarMK GC #{}: cleanup started. Current repository size is {} ({} bytes" segna l’inizio della pulizia.
  • Spazio su disco ottenuto dalla pulizia della revisione
    • Lo spazio viene recuperato solo al termine della fase di pulizia. Il completamento della fase di pulizia è contrassegnato dal messaggio di registro "TarMK GC #{}: cleanup completed in {} ({} ms". La dimensione di post-pulizia è {} ({} byte) e spazio recuperato {} ({} byte). Peso/profondità mappa compattazione è {}/{} ({} byte/{}).".
  • Si è verificato un problema durante la pulizia della revisione
    • Esistono molte condizioni di errore, tutte sono contrassegnate da messaggi di registro WARN o ERROR che iniziano con "TarMK GC".

Inoltre, consulta Risoluzione dei problemi in base ai messaggi di errore sezione successiva.

Come verificare quanto spazio è stato recuperato al termine della pulizia delle revisioni online?
Nel registro è presente un messaggio alla fine del ciclo di pulizia: "TarMK GC #3: cleanup completed" che include le dimensioni dell’archivio e la quantità di rifiuti recuperati.
Come verificare l'integrità dell'archivio al termine della pulizia delle revisioni in linea?

Dopo la pulizia delle revisioni in linea non è necessario eseguire un controllo dell'integrità dell'archivio.

Tuttavia, è possibile eseguire le azioni seguenti per controllare lo stato dell’archivio dopo la pulizia:

  • Un archivio controllo trasversale
  • Utilizza lo strumento oak-run al termine del processo di pulizia per verificare la presenza di incoerenze. Per ulteriori informazioni su come eseguire questa operazione, consulta Documentazione Di Apache. Non è necessario arrestare l’AEM per eseguire lo strumento.
Come rilevare se la pulizia delle revisioni online non è riuscita e quali sono i passaggi per ripristinare?
Le condizioni di errore sono contrassegnate dai messaggi di registro WARN o ERROR che iniziano con "TarMK GC". Inoltre, consulta Risoluzione dei problemi in base ai messaggi di errore sezione successiva.
Quali informazioni sono esposte nel controllo dello stato di pulizia delle revisioni? Come e quando contribuiscono ai livelli di stato con codice a colori?

Il controllo dello stato di pulizia della revisione fa parte del Dashboard operazioni.

Lo stato è VERDE se l'ultima esecuzione dell'attività di manutenzione Pulizia revisioni in linea è stata completata correttamente.

È GIALLO se l'attività di manutenzione Pulizia revisioni in linea è stata annullata una volta.

È ROSSO se l'attività di manutenzione Pulizia revisioni in linea è stata annullata tre volte di seguito. In questo caso è necessaria l’interazione manuale o la pulizia delle revisioni online potrebbe non riuscire più. Per ulteriori informazioni, leggere Risoluzione dei problemi sezione successiva.

Inoltre, lo stato di Verifica stato viene reimpostato dopo il riavvio del sistema. Pertanto, un'istanza appena riavviata viene visualizzata in verde sul controllo di integrità della pulizia delle revisioni. Gli strumenti di monitoraggio esterno potrebbero essere utilizzati per mantenere i dati oltre il tempo di attività dell’AEM. Consulta la documentazione AEM per allegare i controlli sanitari a Nagios come esempio per uno strumento di monitoraggio esterno.

Come monitorare la pulizia automatica in un'istanza in standby?

Lo stato, l’avanzamento e le statistiche vengono esposti tramite JMX utilizzando SegmentRevisionGarbageCollection MBean. Vedi anche quanto segue Documentazione Oak.

È possibile ottenere un riferimento della voce MBean utilizzando ObjectName org.apache.jackrabbit.oak:name="Segment node store revision garbage collection",type="SegmentRevisionGarbageCollection".

Le statistiche sono disponibili solo dall'ultimo avvio del sistema. Gli strumenti di monitoraggio esterno potrebbero essere utilizzati per mantenere i dati oltre il tempo di attività dell’AEM. Vedi anche la documentazione AEM per allegare i controlli sanitari a Nagios come esempio per uno strumento di monitoraggio esterno.

I file di registro possono essere utilizzati anche per controllare lo stato, l'avanzamento e le statistiche della pulizia automatica.

Cosa deve essere monitorato durante la pulizia automatica in un’istanza in standby?
  • Lo spazio su disco deve essere monitorato durante l'esecuzione della pulizia automatica.
  • Tempo di completamento (tramite i registri) per garantire che non vengano superate 2 ore.
  • Dimensione dell’archivio segmenti dopo l’esecuzione della pulizia automatica. La dimensione dell’archivio segmenti nell’istanza in standby deve essere approssimativamente uguale a quella nell’istanza primaria.

Risoluzione dei problemi di pulizia delle revisioni online troubleshooting-online-revision-cleanup

Qual è il peggio che può accadere se non si esegue Pulizia revisioni online?
Lo spazio su disco dell’istanza AEM è esaurito, con conseguenti interruzioni della produzione.
Il traffico elevato degli utenti è problematico per l’esecuzione di Pulizia revisioni online in un’istanza di pubblicazione?
Il traffico elevato degli utenti influisce sul completamento o meno della fase di compattazione.
In base alla verifica dello stato e alle voci del registro, la pulizia delle revisioni in linea non è stata completata tre volte di seguito. Cosa è necessario per completare correttamente la pulizia delle revisioni online?

Puoi intraprendere diversi passaggi per trovare e risolvere il problema:

  • Innanzitutto, controlla le voci di registro

  • A seconda delle informazioni contenute nei registri, adotta le misure appropriate:

    • Se i registri mostrano cinque cicli di compattazione saltati e un timeout sul forceCompact pianificare la finestra di manutenzione in modo che non interrompa l'attività quando la quantità di scritture dell'archivio è bassa. Puoi controllare le scritture dell’archivio nello strumento di monitoraggio delle metriche dell’archivio all’indirizzo https://serveraddress:serverport/libs/granite/operations/content/monitoring/page.html
    • Se la pulizia viene interrotta alla fine della finestra di manutenzione, assicurarsi che la configurazione della finestra di manutenzione nell'interfaccia utente Attività di manutenzione sia sufficientemente grande
    • Se la memoria heap disponibile non è sufficiente, verificare che l'istanza disponga di memoria sufficiente.
    • In caso di reazione tardiva, l’archivio segmenti potrebbe crescere troppo per consentire il completamento della pulizia delle revisioni online anche all’interno di una finestra di manutenzione più lunga. Ad esempio, se nell’ultima settimana non è stata completata correttamente la pulizia delle revisioni online, si consiglia di pianificare una manutenzione offline e di eseguire la pulizia delle revisioni offline per riportare segmenstore a una dimensione gestibile.
Cosa deve essere fatto quando è attivato l’avviso del controllo di integrità?
Cfr. il punto precedente.
Cosa succede se la pulizia delle revisioni in linea non viene eseguita correttamente durante la finestra di manutenzione pianificata?
La pulizia delle revisioni online è stata annullata e gli avanzi rimossi. Si riavvia alla successiva programmazione della finestra di manutenzione.
Causa SegmentNotFoundException istanze da registrare in error.log e come posso recuperare?

A SegmentNotFoundException viene registrato da TarMK quando tenta di accedere a un’unità di archiviazione (un segmento) che non riesce a trovare. Esistono tre scenari che potrebbero causare il problema:

  1. Applicazione che aggira i meccanismi di accesso consigliati (come Sling e API JCR) e utilizza un’API/SPI di livello inferiore per accedere all’archivio e quindi supera il tempo di conservazione di un segmento. In altre parole, mantiene un riferimento a un’entità oltre il tempo di conservazione consentito dalla funzione di pulizia delle revisioni online (24 ore per impostazione predefinita). Questo caso è transitorio e non causa il danneggiamento dei dati. Per il ripristino, è necessario utilizzare lo strumento oak-run per confermare la natura transitoria dell’eccezione (il controllo oak-run non deve segnalare errori). A questo scopo, l’istanza deve essere messa offline e riavviata in seguito.
  2. Un evento esterno ha causato il danneggiamento dei dati sul disco. Può trattarsi di un errore del disco, di spazio insufficiente o di una modifica accidentale dei file di dati richiesti. In questo caso, l’istanza deve essere messa offline e ripristinata utilizzando il controllo oak-run. Per ulteriori dettagli su come eseguire il controllo oak-run, leggi quanto segue Documentazione di Apache.
  3. Risolvi tutte le altre occorrenze tramite Assistenza clienti Adobe.

Risoluzione Dei Problemi In Base Ai Messaggi Di Errore troubleshooting-based-on-error-messages

Il file error.log è dettagliato se si verificano problemi durante il processo di pulizia delle revisioni online. La seguente matrice mira a spiegare i messaggi più comuni e a fornire possibili soluzioni:

Fase
Messaggi del registro
Spiegazione
Passaggi successivi
Stima
#2 GC di TarMK: stima ignorata perché la compattazione è in pausa.
La fase di stima viene ignorata quando la compattazione è disabilitata sul sistema dalla configurazione.
Abilita la pulizia delle revisioni online.
N/D
#2 GC di TarMK: stima interrotta: ${REASON}. Compattazione ignorata.
La fase di stima terminò prematuramente. Alcuni esempi di eventi che potrebbero interrompere la fase di stima: memoria o spazio su disco insufficiente nel sistema host.
Dipende dal motivo specificato.
Compattazione
#2 GC di TarMK: compattazione sospesa.
Fintanto che la fase di compattazione è sospesa per configurazione, non si esegue né la fase di stima né quella di compattazione.
Abilita la pulizia delle revisioni online.
N/D
#2 GC TarMK: compattazione annullata: ${REASON}.
La fase di compattazione terminò prematuramente. Alcuni esempi di eventi che potrebbero interrompere la fase di compattazione: memoria o spazio su disco insufficiente nel sistema host. Inoltre, la compattazione può essere annullata anche chiudendo il sistema o annullandolo esplicitamente tramite interfacce amministrative come la finestra Manutenzione all'interno del dashboard operazioni.
Dipende dal motivo specificato.
N/D
#2 GC di TarMK: compattazione non riuscita in 32,902 min (1974140 ms), dopo 5 cicli.
Questo messaggio non indica che si è verificato un errore irreversibile, ma solo che la compattazione è stata terminata dopo alcuni tentativi. Inoltre, leggi paragrafo successivo.
Leggi quanto segue Documentazione Oake l'ultima domanda della sezione Pulizia revisioni in linea in esecuzione.
Pulizia
#2 GC di TarMK: pulizia interrotta.
La pulizia è stata annullata arrestando l’archivio. Non si prevede alcun impatto sulla coerenza. Inoltre, è molto probabile che lo spazio su disco non venga recuperato completamente. Verrà recuperato durante il prossimo ciclo di pulizia della revisione.
Ricercare il motivo per cui l'archivio è stato arrestato e in futuro cercare di evitare di arrestarlo durante le finestre di manutenzione.

Eseguire la pulizia delle revisioni offline how-to-run-offline-revision-cleanup

CAUTION
Utilizza una versione dello strumento Oak-run con un numero di versione (principale e secondario) corrispondente alla versione principale Oak dell’installazione AEM. Ad esempio, se l’istanza AEM dispone della versione 1.22.x di Oak Core, utilizza la versione più recente dello strumento Oak-run 1.22.x.

L’Adobe fornisce uno strumento denominato Oak-run per eseguire la pulizia delle revisioni. Può essere scaricato nella seguente posizione:

https://repo1.maven.org/maven2/org/apache/jackrabbit/oak-run/

Lo strumento è un file jar eseguibile che può essere eseguito manualmente per compattare l’archivio. Il processo viene chiamato pulizia revisione offline perché è necessario chiudere l'archivio per eseguire correttamente lo strumento. Assicurati di pianificare la pulizia in base alla finestra di manutenzione.

Per suggerimenti su come migliorare le prestazioni del processo di pulizia, consulta Aumento delle prestazioni della pulizia delle revisioni offline.

NOTE
È inoltre possibile cancellare i punti di controllo precedenti prima che venga eseguita la manutenzione (passaggi 2 e 3 nella procedura seguente). Questa opzione è consigliata solo per le istanze che hanno più di 100 punti di controllo.
  1. Assicurati sempre di avere un backup recente dell’istanza AEM.

    Chiudi AEM.

  2. (Facoltativo) Usate lo strumento per trovare i punti di controllo precedenti:

    code language-xml
    java -jar oak-run.jar checkpoints install-folder/crx-quickstart/repository/segmentstore
    
  3. (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
    
  4. Eseguire la compattazione e attenderne 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 della pulizia 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 delle revisioni e a ridurre il più possibile la finestra di manutenzione.

L’elenco include diversi parametri della riga di comando, come descritto di seguito:

  • Mmap. È possibile impostarlo su 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 di compressione. Numero di voci di 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 una velocità effettiva più rapida. Questo parametro è stato rimosso nella versione 1.6 di Oak e non ha alcun effetto.

  • -Dcompaction-progress-log. Numero di nodi compattati registrati. Il valore predefinito è 150000, il che significa che durante l'operazione vengono registrati i primi nodi compattati 150000. Utilizzalo con il 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 maggiori dettagli, si veda la domanda 3 nella Domande frequenti sulla pulizia 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 dell’archivio segmenti non corrispondente.

CAUTION
Utilizzo di --force Il parametro aggiorna l’archivio segmenti alla versione più recente, incompatibile con le versioni Oak precedenti. Inoltre, considera che non è possibile effettuare alcun downgrade. In genere, questi parametri devono essere utilizzati con cautela e solo se si è esperti di come utilizzarli.

Un 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 la pulizia delle revisioni additional-methods-of-triggering-revision-cleanup

Oltre ai metodi descritti in precedenza, puoi anche attivare il meccanismo di pulizia delle revisioni utilizzando la console JMX come segue:

  1. Apri la console JMX da http://localhost:4502/system/console/jmx
  2. Fai clic su RevisionGarbageCollection MBean.
  3. Nella finestra successiva, fai clic su startRevisionGC() e poi Richiama per avviare il processo Revision Garbage Collection.

Domande frequenti sulla pulizia delle revisioni offline offline-revision-cleanup-frequently-asked-questions

Quali sono i fattori che determinano la durata della pulizia delle revisioni offline?
La dimensione dell’archivio e il numero di revisioni da pulire determinano la durata della pulizia.
Qual è la differenza tra una revisione e una versione di pagina?
  • Revisione Oak: Oak organizza tutto il contenuto in una grande gerarchia ad albero costituita da nodi e proprietà. Ogni snapshot o revisione di questa struttura di contenuto non è modificabile e le modifiche alla struttura vengono espresse come una sequenza di nuove revisioni. In genere, ogni modifica del contenuto attiva una nuova revisione. Vedi anche Segui collegamento.
  • Versione pagina: Il controllo delle versioni crea un'istantanea di una pagina in un determinato momento. In genere, quando viene attivata una pagina, viene creata una nuova versione. Per ulteriori informazioni, consulta Utilizzo delle versioni di una pagina.
Come velocizzare l'attività Offline Revision Cleanup se non viene completata entro 8 ore?
Se l'attività di revisione non viene completata entro 8 ore e immagini thread rivelare che il punto attivo principale è InMemoryCompactionMap.findEntry, utilizzare il parametro seguente con lo strumento oak-run versioni 1.4 o superiore: -Dtar.PersistCompactionMap=true. Il -Dtar.PersistCompactionMap Il parametro è stato rimosso in Oak versione 1.6.
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2