Éléments de stockage dans AEM 6.4

Dans cet article, nous allons aborder les éléments suivants :

Présentation du stockage dans AEM 6

L’un des principaux changements dans AEM 6 concerne les innovations au niveau du référentiel.

Actuellement, il existe deux implémentations de stockage de nœud disponibles dans AEM 6 : le stockage tar et le stockage MongoDB.

Stockage tar

Exécution d’une toute nouvelle instance AEM installée avec un stockage tar

ATTENTION

Le PID de la banque de noeuds de segments a été modifié par org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService dans les versions précédentes de AEM 6 à org.apache.jackrabbit.oak.segment.SegmentNodeStoreService dans AEM 6.3. Assurez-vous d’effectuer les ajustements de configuration nécessaires pour refléter cette modification.

Par défaut, AEM 6 utilise le stockage tar pour stocker les nœuds et les fichiers binaires à l’aide des options de configuration par défaut. Pour configuer manuellement les paramètres de stockage, suivez la procédure ci-dessous :

  1. Téléchargez le jar quickstart AEM 6 et placez-le dans un nouveau dossier.

  2. Décompressez AEM en exécutant :

    java -jar cq-quickstart-6.jar -unpack

  3. Create a folder named crx-quickstart\install in the installation directory.

  4. Créez un fichier nommé org.apache.jackrabbit.oak.segment.SegmentNodeStoreService.cfg dans le dossier nouvellement créé.

  5. Modifiez le fichier, puis définissez les options de configuration. Les options suivantes sont disponibles pour l’entrepôt du nœud de segment, qui est la base de cette implémentation du stockage tar AEM :

    • repository.home : chemin vers le répertoire racine du référentiel dans lequel sont stockées les différentes données associées au référentiel. Par défaut, les fichiers de segment doivent être stockés dans le répertoire crx-quickstart/segmentstore.
    • tarmk.size : taille maximale d’un segment en Mo. La valeur par défaut est 256 Mo.
  6. Démarrez AEM.

Stockage Mongo

Exécution d’une instance AEM nouvellement installée avec le stockage Mongo

AEM 6 peut être configuré pour s’exécuter avec le stockage MongoDB en suivant la procédure ci-dessous :

  1. Téléchargez le jar quickstart AEM 6 et placez-le dans un nouveau fichier.

  2. Décompressez AEM en exécutant la commande suivante :

    java -jar cq-quickstart-6.jar -unpack

  3. Assurez-vous que MongoDB est installé et qu’une instance de mongod est en cours d’exécution. Pour plus d’informations, reportez-vous à la section Configuration de MongoDB.

  4. Create a folder named crx-quickstart\install in the installation directory.

  5. Configurez le stock de nœud en créant un fichier de configuration avec le nom de la configuration que vous souhaitez utiliser dans le répertoire crx-quickstart\install.

    The Document Node Store (which is the basis for AEM's MongoDB storage implementation) uses a file called org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.cfg

  6. Modifiez le fichier, puis définissez les options de configuration. Les options suivantes sont disponibles :

    • mongouri : MongoURI requis pour se connecter à la base donnée Mongo. La valeur par défaut est de mongodb://localhost:27017
    • db : nom de la base de donnée Mongo. Par défaut, les nouvelles installations d’AEM 6 utilisent aem-author comme nom de la base de données.
    • cache : taille du cache en Mo. Elle est distribuée entre différents caches utilisés dans DocumentNodeStore. La valeur par défaut est de 256.
    • changesSize : taille en Mo de la collection limitée utilisée dans Mongo pour la mise en cache de la sortie diff. La valeur par défaut est de 256.
    • customBlobStore : valeur booléenne indiquant qu’un entrepôt de données personnalisé sera utilisé. La valeur par défaut est false.
  7. Créez un fichier de configuration avec le PID de l’entrepôt de données que vous souhaitez utiliser et modifiez le fichier afin de définir les options de configuration. Pour plus d’informations, voir Configuration des stocks de nœuds et des entrepôts de données.

  8. Démarrez le jar AEM 6 avec une sauvegarde du stockage MongoDB en exécutant :

    java -jar cq-quickstart-6.jar -r crx3,crx3mongo
    

    Where -r is the backend runmode. Dans cet exemple, il commence par la prise en charge MongoDB.

Désactiver les pages THP

Red Hat Linux utilise un algorithme de gestion de la mémoire appelé Transparent Huge Pages (THP). Tandis qu’AEM effectue des lectures et des écritures affinées, THP est optimisé pour des opérations plus volumineuses. Pour cette raison, il est recommandé de désactiver THP sur le stockage Tar et Mongo. Pour désactiver l’algorithme, procédez comme suit :

  1. Open the /etc/grub.conf file in the text editor of your choice.

  2. Add the following line to the grub.conf file:

    transparent_hugepage=never
    
  3. Enfin, vérifiez si le paramètre a été appliqué en exécutant :

    cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
    

    Si THP est désactivé, la sortie de la commande ci-dessus doit être :

    always madvise [never]
    
Remarque

De plus, vous pouvez également consulter les ressources suivantes :

  • For more information regarding Transparent Huge Pages on Red Hat Linux, see this article.
  • For Linux tuning tips, see this article.

Maintenance du référentiel

Chaque mise à jour du référentiel crée une nouvelle révision de contenu. Par conséquent, à chaque mise à jour, la taille du référentiel augmente. Pour éviter une croissance incontrôlée au référentiel, il faut nettoyer les anciennes révisions pour libérer de l’espace sur le disque. Cette fonctionnalité de maintenance est appelée le nettoyage des révisions. Le mécanisme de nettoyage des révisions permet de récupérer de l’espace disque en supprimant les données obsolètes du référentiel. Pour de plus amples informations sur le nettoyage des révisions, consultez la page Nettoyage des révisions.

Sur cette page