Síntomas
Con una configuración predeterminada de FileJournal, dependiendo de la actividad en el repositorio, con el tiempo se crearán muchos archivos de registro de Journal. Esto puede eventualmente causar un problema de espacio en disco y problemas de rendimiento en las aplicaciones que utilizan CRX.
Causa
La configuración predeterminada del Journal permite teóricamente un número ilimitado de archivos de registro girados.
Resolución
Dependiendo de la configuración, la configuración difiere ligeramente y se hace en el repository.xml
. Para obtener más información sobre los parámetros de configuración individuales, consulte el artículo de Configuración de Journal.
NOTA: Haga una copia de seguridad de la instancia antes de aplicar cualquier cambio.
Versión CQ / CRX | Ubicación |
5.2.x / 1.4.2 | crx-quickstart/server/runtime/0/_crx/WEB-INF/repository.xml |
5.3 / 2.0 | crx-quickstart/repository/repository.xml |
5.5 / 2.3 | crx-quickstart/repository/repository.xml |
Además de la reconfiguración del FileJournal, es necesario limpiar el Journal existente. Tener en cuenta Nota: como prerrequisito para los entornos CRX en clúster, se recomienda encarecidamente dejar que todos los nodos de clúster se sincronicen completamente con la misma revisión que el maestro antes de aplicar los siguientes cambios:
- parar (todas) instancias CRX
- si tiene un clúster de varios nodos, verifique que todos los nodos están sincronizados con la revisión actual.
- Para cada nodo de clúster, verifique que el número de revisión en
crx-quickstart/repository/revision.log
coincidacon crx-quickstart/repository/shared/journal/revision
- Los números de revisión se almacenan en binario para que pueda usar un comando
diff
en Linux para compararlos. En Windows se puede usar una herramienta de diferencias con capacidad binaria como WinMerge
- Para cada nodo de clúster, verifique que el número de revisión en
- borrar TODOS los archivos debajo de
crx-quickstart/repository/shared/journal
- borrar
crx-quickstart/repository/revision.log
- aplicar Reconfiguración del Journal
- iniciar (todas) las instancias CRX
Entorno no agrupado
En un entorno no agrupado en el que CRX se ejecuta de forma autónoma, se recomienda configurar el tamaño máximo de un archivo de registro de Journal a 100 MB y limitar el número de archivos permitidos a 1. Esto es más que suficiente para una instalación de este tipo.
<Journal class="com.day.crx.core.journal.FileJournal"> <param name="sharedPath" value="${rep.home}/shared"/> <param name="maximumSize" value="104857600" /> <param name="maximumFiles" value="1" /> </Journal>
Entorno agrupado
Si CRX se está ejecutando en un cluster con otras instancias CRX, se recomienda ajustar el número de archivos de registro de diario rotados. El Journal básicamente realiza un seguimiento de cada operación de almacenamiento del repositorio, por lo que dependiendo de cuánto tiempo un nodo cluster esclavo puede estar desconectado antes de poder ponerse al día con la última revisión de la instancia del nodo cluster maestro, se pueden configurar los siguientes 2 parámetros para que coincidan con los requisitos:
maximumAge
: edad máxima de un archivo de registro de Journal antes de ser eliminadomaximumFiles
: número máximo de registros rotativos permitidos
<Journal class="com.day.crx.core.journal.FileJournal"> <param name="sharedPath" value="${rep.home}/shared"/> <param name="maximumSize" value="104857600" /> <param name="maximumAge" value="P1M" /> <param name="maximumFiles" value="10" /> </Journal>
Rotar tarjournal en clustering de shared-nothing
A partir de CRX 2.2 se utiliza el nuevo TarJournal, que implementa el journaling utilizando el formato de archivo TarPM mejorado y el protocolo de sincronización de clústeres, y funciona en modo de no compartir nada. El valor predeterminado del tamaño máximo del archivo es 256 MB. Aunque este valor por defecto está bien en la mayoría de los casos. El valor máximo es de 1 GB. Para más detalles sobre otros parámetros haga clic aquí. Los cambios se ven afectados en la próxima ejecución de Optimización de Tar. A continuación se muestra un ejemplo de cómo rotar para que suceda después de cada 24 horas
<Journal class="com.day.crx.persistence.tar.TarJournal"> <param name="maxFileSize" value="256"/> <param name="maximumAge" value="PT24H"/> </Journal>
Aplica
CRX1.4.2, CRX2.0, CRX2.2, CRX2.3