Limpieza de revisión revision-cleanup
Introducción introduction
Cada actualización del repositorio crea una nueva revisión de contenido. Como resultado, con cada actualización, el tamaño del repositorio crece. Para evitar el crecimiento incontrolado del repositorio, es necesario limpiar las viejas revisiones para liberar recursos de disco. Esta funcionalidad de mantenimiento se denomina Limpieza de revisión. Ha estado disponible como rutina sin conexión desde AEM 6.0.
Con AEM 6.3 se ha introducido una versión en línea de esta funcionalidad denominada Limpieza de revisión en línea. En comparación con la Limpieza de revisión sin conexión, donde la instancia de AEM debe cerrarse, la Limpieza de revisión en línea se puede ejecutar mientras la instancia de AEM está en línea. La limpieza de revisión en línea está activada de forma predeterminada y es la forma recomendada de realizar una limpieza de revisión.
Nota: Consulte el vídeo para obtener una introducción y cómo utilizar la limpieza de revisión en línea.
El proceso de limpieza de revisión consta de tres fases: estimación, compactación y limpiar. La estimación determina si se ejecutará la siguiente fase (compactación) o no en función de la cantidad de basura que se recopilará. Durante la fase de compactación, los segmentos y los archivos tar se reescriben dejando fuera el contenido no utilizado. La fase de limpieza elimina posteriormente los segmentos antiguos, incluida la basura que puedan contener. El modo sin conexión generalmente puede recuperar más espacio porque el modo en línea necesita tener en cuenta AEM conjunto de trabajo que evita que se recopilen segmentos adicionales.
Para obtener más información sobre la limpieza de revisión, consulte los siguientes vínculos:
Además, también puede leer el documentación oficial de Oak.
¿Cuándo se utiliza la limpieza de revisión en línea en lugar de la limpieza de revisión sin conexión? when-to-use-online-revision-cleanup-as-opposed-to-offline-revision-cleanup
Limpieza de revisión en línea es la forma recomendada de realizar la limpieza de revisión. La limpieza de revisiones sin conexión solo debe utilizarse de forma excepcional, por ejemplo, antes de migrar al nuevo formato de almacenamiento o si el Servicio de atención al cliente de Adobe le solicita que lo haga.
Cómo ejecutar la limpieza de revisión en línea how-to-run-online-revision-cleanup
La limpieza de revisión en línea está configurada de forma predeterminada para ejecutarse automáticamente una vez al día en las instancias de AEM Author y Publish. Todo lo que debe hacer es definir la ventana de mantenimiento durante un periodo con la menor actividad del usuario. Puede configurar la tarea Limpieza de revisión en línea de la siguiente manera:
-
En la ventana de AEM principal, vaya a Herramientas - Operaciones - Tablero - Mantenimiento o dirija el navegador a:
https://serveraddress:serverport/libs/granite/operations/content/maintenance.html
-
Pase el ratón Ventana de mantenimiento diario y haga clic en el botón Configuración icono.
-
Introduzca los valores deseados (periodicidad, hora de inicio y hora de finalización) y haga clic en Guardar.
Alternativamente, si desea ejecutar la tarea de limpieza de revisión manualmente, puede:
-
Vaya a Herramientas - Operaciones - Tablero - Mantenimiento o navegue directamente a
https://serveraddress:serverport/libs/granite/operations/content/maintenance.html
-
Haga clic en el Ventana de mantenimiento diario.
-
Pase el ratón sobre la Limpieza de revisión icono.
-
Haga clic en Ejecutar.
Ejecución De La Limpieza De Revisión En Línea Después De La Limpieza De Revisión Sin Conexión running-online-revision-cleanup-after-offline-revision-cleanup
El proceso de limpieza de revisiones reclama viejas revisiones por generaciones. Esto significa que cada vez que ejecuta la limpieza de revisión, se crea una nueva generación y se mantiene en el disco. Sin embargo, hay una diferencia entre los dos tipos de limpieza de revisión: la limpieza de revisiones sin conexión mantiene una generación mientras que la limpieza de revisiones en línea mantiene dos generaciones. Por lo tanto, cuando ejecute la limpieza de revisión en línea after la revisión sin conexión limpia lo siguiente sucede:
- Después de ejecutar la primera limpieza de revisión en línea, el repositorio tendrá un tamaño doble. Esto sucede porque ahora hay dos generaciones que se mantienen en disco.
- Durante las ejecuciones posteriores, el repositorio crecerá temporalmente mientras se crea la nueva generación y, a continuación, se estabilizará de nuevo con el tamaño que tenía después de la primera ejecución, ya que el proceso de limpieza de revisiones en línea reclama la generación anterior.
Además, tenga en cuenta que, según el tipo y el número de confirmaciones, cada generación puede variar en tamaño en comparación con la anterior, por lo que el tamaño final puede variar de una ejecución a otra.
Debido a este hecho, se recomienda dimensionar el disco al menos dos o tres veces más grande que el tamaño del repositorio estimado inicialmente.
Modos De Compactación Completos Y Seguros full-and-tail-compaction-modes
AEM 6.4 introduce dos modos nuevos para el compactación fase del proceso de limpieza de revisión en línea:
- La variable compactación completa reescribe todos los segmentos y archivos tar en todo el repositorio. La siguiente fase de limpieza puede eliminar la cantidad máxima de basura en el repositorio. Dado que la compactación completa afecta a todo el repositorio, requiere una cantidad considerable de recursos del sistema y tiempo para completarse. La compactación completa corresponde a la fase de compactación de la AEM 6.3.
- La variable compactación de cola reescribe solo los segmentos y archivos tar más recientes del repositorio. Los segmentos y archivos tar más recientes son los que se han añadido desde la última vez que se ejecutó la compactación completa o de cola. La siguiente fase de limpieza solo puede eliminar la basura contenida en la parte reciente del repositorio. Dado que la compactación de cola solo afecta a una parte del repositorio, requiere considerablemente menos recursos y tiempo para completar que la compactación completa.
Estos modos de compactación constituyen un equilibrio entre la eficiencia y el consumo de recursos: aunque la compactación de cola es menos eficaz, también tiene menos impacto en el funcionamiento normal del sistema. Por el contrario, la compactación completa es más eficaz, pero tiene un mayor impacto en el funcionamiento normal del sistema.
AEM 6.4 también introduce un mecanismo de deduplicación de contenido más eficiente durante la compactación, lo que reduce aún más la huella en disco del repositorio.
Los dos gráficos siguientes presentan resultados de pruebas internas de laboratorio que ilustran la reducción de los tiempos de ejecución promedio y de la huella media en disco en el AEM 6.4 en comparación con el AEM 6.3:
Configuración de la compactación completa y de cola how-to-configure-full-and-tail-compaction
La configuración predeterminada ejecuta una compactación de cola en días de semana y una compactación completa los domingos. La configuración predeterminada se puede cambiar utilizando el nuevo valor de configuración full.gc.days
del RevisionCleanupTask
tarea de mantenimiento.
Al configurar la variable full.gc.days
tenga en cuenta que la compactación completa se ejecutará durante los días definidos en el valor y la compactación de cola se ejecutará durante los días no definidos en el valor. Por ejemplo, si configura la compactación completa para que se ejecute el domingo, la compactación de cola se ejecutará de lunes a sábado. Si, por ejemplo, configura la compactación completa para que se ejecute todos los días de la semana, la compactación de cola no se ejecutará en absoluto.
Además, tenga en cuenta que:
- Compactación de cola es menos eficaz y tiene menos impacto en las operaciones normales del sistema. Por lo tanto, está previsto que se ejecute durante los días hábiles.
- Compactación completa es más eficaz, pero también tiene un mayor impacto en las operaciones normales del sistema. Por lo tanto, está previsto que se utilice fuera de los días hábiles.
- La compactación de cola y la compactación completa deben programarse para que se ejecuten durante las horas de menor actividad.
Solución de problemas troubleshooting
Cuando utilice los nuevos modos de compactación, tenga en cuenta lo siguiente:
- Puede monitorizar la actividad de entrada/salida (E/S), por ejemplo: Operaciones de E/S, CPU esperando IO, confirmar tamaño de cola. Esto ayuda a determinar si el sistema se está convirtiendo en un dispositivo de E/S y requiere un cambio de tamaño.
- La variable
RevisionCleanupTaskHealthCheck
indica el estado de salud general de la limpieza de revisión en línea. Funciona del mismo modo que en el AEM 6.3 y no distingue entre compactación completa y de cola. - Los mensajes de registro contienen información relevante sobre los modos de compactación. Por ejemplo, cuando se inicia la limpieza de revisión en línea, los mensajes de registro correspondientes indicarán el modo de compactación. Además, en algunos casos de esquina, el sistema volverá a la compactación completa cuando se programó para ejecutar una compactación de cola y los mensajes de registro indicarán este cambio. Las muestras de registro siguientes indican el modo de compactación y el cambio de cola a compactación completa:
TarMK GC: running tail compaction
TarMK GC: no base state available, running full compaction instead
Limitaciones conocidas known-limitations
En algunos casos, la alternancia entre los modos de cola y compactación completa retrasa el proceso de limpieza. Más precisamente, el repositorio crecerá después de una compactación completa (su tamaño se duplicará). El espacio adicional se regenerará en la siguiente compactación de cola, cuando el repositorio caerá por debajo del tamaño de compactación pre-completo. También deben evitarse las ejecuciones de tareas de mantenimiento paralelas.
Se recomienda dimensionar el disco al menos dos o tres veces más grande que el tamaño del repositorio estimado inicialmente.
Preguntas más frecuentes sobre la limpieza de revisiones en línea online-revision-cleanup-frequently-asked-questions
Consideraciones sobre la actualización a AEM 6.4 aem-upgrade-considerations
Migración a Oak Segment Tar migrating-to-oak-segment-tar
Ejecución de la limpieza de revisión en línea running-online-revision-cleanup
Supervisión de la limpieza de revisión en línea monitoring-online-revision-cleanup
Solución de problemas de limpieza de revisión en línea troubleshooting-online-revision-cleanup
Resolución de problemas basados en mensajes de error troubleshooting-based-on-error-messages
El archivo error.log será detallado si hay incidentes durante el proceso de limpieza de revisión en línea. La siguiente matriz pretende explicar los mensajes más comunes y proporcionar posibles soluciones:
Cómo ejecutar la limpieza de revisión sin conexión how-to-run-offline-revision-cleanup
-
Para versiones de Oak De 1.0.0 a 1.0.11 o 1.1.0 a 1.1.6, utilice la versión Oak-run 1.0.11
-
Para versiones de Oak más reciente que el anterior, utilice la versión de Oak-run que coincida con el núcleo Oak de su instalación de AEM.
El Adobe proporciona una herramienta llamada Oak-run para realizar la limpieza de revisión. Se puede descargar desde la siguiente ubicación:
https://repo1.maven.org/maven2/org/apache/jackrabbit/oak-run/
La herramienta es un jar ejecutable que se puede ejecutar manualmente para compactar el repositorio. El proceso se denomina limpieza de revisión sin conexión porque el repositorio debe cerrarse para ejecutar correctamente la herramienta. Asegúrese de planificar la limpieza de acuerdo con su ventana de mantenimiento.
Para obtener sugerencias sobre cómo aumentar el rendimiento del proceso de limpieza, consulte Aumento del rendimiento de la limpieza de revisión sin conexión.
-
Asegúrese siempre de tener una copia de seguridad reciente de la instancia de AEM.
Apague AEM.
-
(Opcional) Utilice la herramienta para encontrar puntos de comprobación antiguos:
code language-xml java -jar oak-run.jar checkpoints install-folder/crx-quickstart/repository/segmentstore
-
(Opcional) A continuación, elimine los puntos de comprobación no referenciados:
code language-xml java -jar oak-run.jar checkpoints install-folder/crx-quickstart/repository/segmentstore rm-unreferenced
-
Ejecute la compactación y espere a que se complete:
code language-xml java -jar -Dsun.arch.data.model=32 oak-run.jar compact install-folder/crx-quickstart/repository/segmentstore
Aumento del rendimiento de la limpieza de revisión sin conexión increasing-the-performance-of-offline-revision-cleanup
La herramienta Oak-run introduce varias funciones que pretenden aumentar el rendimiento del proceso de limpieza de revisiones y minimizar la ventana de mantenimiento en la medida de lo posible.
La lista incluye varios parámetros de línea de comandos, como se describe a continuación:
-
-mmap. Puede establecerlo como verdadero o falso. Si se establece en true, se utiliza el acceso asignado a memoria. Si se establece en false, se utiliza el acceso a los archivos. Si no se especifica, el acceso asignado a memoria se utiliza en sistemas de 64 bits y el acceso a archivos se utiliza en sistemas de 32 bits. En Windows, el acceso a archivos regular siempre se aplica y esta opción se ignora. Este parámetro ha reemplazado el parámetro -Dtar.memoryMapped.
-
-Dupdate.limit. Define el umbral para el vaciado de una transacción temporal en disco. El valor predeterminado es 10000.
-
-Descomprimir-intervalo. Número de entradas del mapa de compactación que se van a mantener hasta que se comprime el mapa actual. El valor predeterminado es 100000. Debería aumentar este valor a un número aún mayor para un rendimiento más rápido, si hay suficiente memoria acumulada disponible. Este parámetro se ha eliminado en la versión 1.6 de Oak y no tiene ningún efecto.
-
-Dcompaction-progress-log. Número de nodos compuestos que se registrarán. El valor predeterminado es 150000, lo que significa que los primeros 150000 nodos compactados se registrarán durante la operación. Utilícelo junto con el siguiente parámetro documentado a continuación.
-
-Dtar.PersistCompactionMap. Establezca este parámetro en true para usar espacio en disco en lugar de memoria en pilas para la persistencia del mapa de compactación. Requiere la herramienta Oak-run versiones 1.4 y superior. Para más detalles, véase la pregunta 3 de la sección Preguntas más frecuentes sobre la limpieza de revisiones sin conexión para obtener más información. Este parámetro se ha eliminado en la versión 1.6 de Oak y no tiene ningún efecto.
-
—force. Forzar la compactación e ignorar una versión del almacén de segmentos que no coincida.
--force
actualizará el almacén de segmentos a la última versión, lo que no es compatible con versiones anteriores de Oak. Además, tenga en cuenta que no es posible reducir la categoría. Como regla general, debe usar estos parámetros con precaución y solo si conoce cómo utilizarlos.Ejemplo de los parámetros en uso:
java -Dupdate.limit=10000 -Dcompaction-progress-log=150000 -Dlogback.configurationFile=logback.xml -Xmx8g -jar oak-run-*.jar checkpoints <repository>
Métodos adicionales para activar la limpieza de revisión additional-methods-of-triggering-revision-cleanup
Además de los métodos presentados anteriormente, también puede almacenar en déclencheur el mecanismo de limpieza de revisiones utilizando la consola JMX de la siguiente manera:
- Abra la consola JMX en http://localhost:4502/system/console/jmx
- Haga clic en el RevisionGarbageCollection MBean.
- En la siguiente ventana, haga clic en startRevisionGC() y luego Invocar para iniciar el trabajo de colección de residuos de revisión.