Quand utiliser les directives de performance
Suivez les directives de performance dans les cas suivants :
- Premier déploiement : lorsque vous envisagez de déployer AEM Sites ou Assets pour la première fois, il est important de bien comprendre les options disponibles. Surtout pour la configuration du micronoyau, du magasin de nœuds et du magasin de données (par rapport aux paramètres par défaut). Vous pouvez par exemple modifier les paramètres par défaut du magasin de données pour TarMK en magasin de données de fichiers.
- Mise à niveau vers une nouvelle version : lors de la mise à niveau vers une nouvelle version, il est important de comprendre les différences de performance par rapport à l’environnement en cours d’exécution. Il s’agit par exemple de la mise à niveau d’AEM 6.1 vers 6.2 ou d’AEM 6.0 CRX2 vers 6.2 OAK.
- Temps de réponse lent : lorsque l’architecture Nodestore sélectionnée ne répond pas à vos besoins, il est important de comprendre les différences de performance par rapport aux autres options de topologie. Il s’agit par exemple du déploiement de TarMK au lieu de MongoMK ou de l’utilisation d’un magasin de données de fichiers au lieu d’un magasin de données Amazon S3 ou Microsoft® Azure.
- Ajout d’autres auteurs et autrices : lorsque la topologie TarMK recommandée ne répond pas aux exigences de performance et que la mise à niveau du nœud d’instance de création a atteint la capacité maximale disponible, comprenez bien les différences de performance. Comparez l’utilisation de MongoMK avec trois nœuds d’instance de création ou plus. Par exemple, le déploiement de MongoMK au lieu de TarMK.
- Ajouter plus de contenu : lorsque l’architecture recommandée de magasin de données ne répond pas à vos besoins, il est important de comprendre les différences de performance par rapport à d’autres options de magasin de données. Exemple : utilisation du magasin de données Amazon S3 ou Microsoft® Azure au lieu d’un magasin de données de fichiers.
Présentation
Ce chapitre propose une vue d’ensemble de l’architecture d’AEM et de ses composants les plus importants. Il fournit également des directives de développement et décrit les scénarios de test utilisés dans les tests de référence TarMK et MongoMK.
La plateforme AEM
La plateforme AEM comprend les composants suivants :
Pour plus d’informations sur la plateforme AEM, reportez-vous à la section Qu’est-ce qu’AEM ?.
L’architecture d’AEM
Un déploiement d’AEM comporte trois blocs de création importants. L’instance de création qui est utilisée par les personnes qui créent, éditent et approuvent du contenu pour produire et réviser du contenu. Lorsque le contenu est validé, il est publié sur un second type d’instance nommé instance de publication à partir de laquelle les personnes utilisatrices finales y accèdent. Le troisième composant clé est le Dispatcher, qui est un module chargé de la mise en mémoire cache et du filtrage des URL. Il est installé sur le serveur web. Pour plus d’informations sur l’architecture d’AEM, consultez les Scénarios de déploiement classiques.
Micronoyaux
Les micronoyaux agissent comme des gestionnaires de persistance dans AEM. Il existe trois types de micronoyaux utilisés par AEM : TarMK, MongoDB et la base de données relationnelle (prise en charge limitée). Le choix d’une solution adaptée à vos besoins dépend de l’objectif de votre instance et du type de déploiement que vous prévoyez. Pour plus d’informations sur les micronoyaux, consultez la page Déploiements recommandés.
Entrepôt de nœuds
Dans AEM, les données binaires peuvent être stockées indépendamment des nœuds de contenu. L’emplacement de stockage des données binaires est désigné sous le nom de magasin de données, tandis que l’emplacement des nœuds de contenu et des propriétés est nommé magasin de nœuds.
Magasin de données
Lorsque vous traitez un grand nombre de fichiers binaires, il est recommandé d’utiliser un magasin de données externe au lieu du magasin de nœuds par défaut pour optimiser la performance. Par exemple, si votre projet nécessite un grand nombre de ressources multimédias, leur stockage dans le magasin de données de fichiers ou Azure/S3 rendra leur accès plus rapide que leur stockage direct dans une base de données MongoDB.
Pour plus de détails sur les options de configuration disponibles, consultez la section Configuration de magasins de nœuds et de magasins de données.
Consultez également la page des exigences techniques.
Rechercher
Les fournisseurs d’index personnalisés utilisés avec AEM sont répertoriés dans cette section. Pour en savoir plus sur l’indexation, consultez la section Requêtes Oak et indexation.
Conseils de développement
Développez pour AEM et optimisez les performances et l’évolutivité. Vous trouverez ci-dessous quelques bonnes pratiques :
Bonnes pratiques
- Faites une distinction entre la présentation, la logique et le contenu.
- Utilisez les API d’AEM (Sling etc.) et les outils (la réplication, par exemple) à votre disposition.
- Développez dans le contexte du contenu réel.
- Développez avec une mise en cache optimale en ligne de mire.
- Réduisez le nombre d’enregistrements (par exemple, en utilisant des workflows transitoires).
- Assurez-vous que tous les points d’entrée HTTP sont RESTful.
- Limitez la portée de l’observation JCR.
- Gardez à l’esprit les threads asynchrones.
Mauvaises pratiques
-
N’utilisez pas directement les API JCR, si possible.
-
Ne modifiez pas les répertoires /libs, utilisez plutôt des recouvrements.
-
N’utilisez pas de requêtes dans la mesure du possible.
-
N’utilisez pas de liaisons Sling pour obtenir des services OSGi dans le code Java™, mais utilisez plutôt :
- @Reference dans un composant DS ;
- @Inject dans un modèle Sling ;
- sling.getService() dans une classe d’utilisation Sightly ;
- sling.getService() dans un JSP ;
- un ServiceTracker ;
- un accès direct au registre du service OSGi.
Pour plus d’informations sur le développement sur AEM, consultez la section Principes de base du développement. Pour consulter d’autres bonnes pratiques, rendez-vous sur Bonnes pratiques en matière de développement.
Scénarios de référence
Les scénarios de test présentés ci-dessous sont utilisés pour les sections de référence des chapitres TarMK, MongoMk et TarMK contre MongoMk. Pour identifier le scénario qui a été utilisé pour un test comparatif particulier, consultez le champ de scénario du tableau Caractéristiques techniques.
Scénario de produit unique
AEM Assets :
- Interactions utilisateur : parcourir les ressources / rechercher des ressources / télécharger la ressource / lire les métadonnées de la ressource / mettre à jour les métadonnées de la ressource / télécharger la ressource / exécuter le workflow Télécharger la ressource.
- Mode d’exécution : utilisateurs et utilisatrices simultanés, une seule interaction par personne.
Scénario de produits mixtes
AEM Sites + AEM Assets :
- Interactions utilisateur de Sites : lire une page d’article / lire une page / créer un paragraphe / modifier le paragraphe / créer une page de contenu / activer la page de contenu / créer une recherche.
- Interactions utilisateur d’Assets : parcourir les ressources / rechercher des ressources / télécharger la ressource / lire les métadonnées de la ressource / mettre à jour les métadonnées de la ressource / télécharger la ressource / exécuter le workflow Télécharger la ressource.
- Mode d’exécution : utilisateurs et utilisatrices simultanés, interactions mixtes par personne.
Scénario de cas d’utilisation vertical
Média :
Read Article Page (27.4%), Read Page (10.9%), Create Session (2.6%), Activate Content Page (1.7%), Create Content Page (0.4%), Create Paragraph (4.3%), Edit Paragraph (0.9%), Image Component (0.9%), Browse Assets (20%), Read Asset Metadata (8.5%), Download Asset (4.2%), Search Asset (0.2%), Update Asset Metadata (2.4%), Upload Asset (1.2%), Browse Project (4.9%), Read Project (6.6%), Project Add Asset (1.2%), Project Add Site (1.2%), Create Project (0.1%), Author Search (0.4%)
- Mode d’exécution : utilisateurs et utilisatrices simultanés, interactions mixtes par personne.
TarMK
Ce chapitre donne des recommandations pour tirer le meilleur parti des performances de TarMK. Vous y trouverez les exigences minimales en matière d’architecture et la configuration des paramètres. Des tests de référence sont également fournis pour plus de clarté.
Adobe recommande TarMK comme technologie de persistance par défaut à utiliser par les client(e)s dans tous les scénarios de déploiement, pour les instances d’auteur et de publication AEM.
Pour plus d’informations sur TarMK, consultez les Scénarios de déploiement et la section Stockage Tar.
Recommandations sur l’architecture minimale de TarMK
Pour obtenir de bonnes performances lors de l’utilisation de TarMK, commencez par l’architecture suivante :
- une instance de création ;
- deux instances de publication ;
- deux Dispatchers.
Vous trouverez, dans l’exemple ci-dessous, les recommandations sur l’architecture d’AEM Sites et AEM Assets.
Recommandations sur l’architecture Tar pour AEM Sites
Conseils d’architecture Tar pour AEM Assets
Paramètres TarMK recommandés
Pour obtenir de bonnes performances, il est recommandé de définir les paramètres comme suit. Pour obtenir des instructions sur la modification des paramètres, Voir Optimisation des performances.
Référence des performances de TarMK
Spécifications techniques
Les tests comparatifs ont été réalisés selon les spécifications suivantes :
Nœud Auteur | |
---|---|
Serveur | Matériel « métal nu » (HP) |
Système d’exploitation | Red Hat® Linux® |
Processeur / Cœurs | Processeur Intel® Xeon® E5-2407 @2,40 GHz, 8 cœurs |
Mémoire RAM | 32 Go |
Disque | Magnétique |
Java™ | Oracle JRE version 8 |
JVM Heap | 16 Go |
Produit | AEM 6.2 |
Entrepôt de nœuds | TarMK |
Magasin de données | File DS |
Scénario | Produit unique : Assets / 30 threads simultanés |
Résultats de l’évaluation des performances
MongoMK
La principale raison pour choisir le serveur principal de persistance MongoMK plutôt que TarMK est de mettre les instances à l’échelle horizontale. Ainsi, au moins deux instances de création actives fonctionnent en permanence et MongoDB est utilisé comme système de stockage de persistance. La nécessité d’exécuter plusieurs instances de création est due au fait que la capacité du processeur et de la mémoire d’un seul serveur, prenant en charge toutes les activités de création simultanées, n’est plus suffisante.
Pour plus d’informations sur TarMK, consultez les Scénarios de déploiement et la section Stockage Mongo.
Rrecommandations sur l’architecture minimale de MongoMK
Pour tirer le meilleur parti des performances de MongoMK, commencez par l’artchitecture suivante :
- trois instances de création ;
- deux instances de publication ;
- trois instances MongoDB ;
- deux Dispatchers.
Paramètres MongoMK recommandés
Pour obtenir de bonnes performances, il est recommandé de définir les paramètres comme suit. Pour obtenir des instructions sur la modification des paramètres, voir Optimisation des performances.
Référence des performances de MongoMK
Spécifications techniques
Les tests comparatifs ont été réalisés selon les spécifications suivantes :
Nœud Auteur | Nœud MongoDB | |
---|---|---|
Serveur | Matériel « métal nu » (HP) | Matériel « métal nu » (HP) |
Système d’exploitation | Red Hat® Linux® | Red Hat® Linux® |
Processeur / Cœurs | Processeur Intel® Xeon® E5-2407 @2,40 GHz, 8 cœurs | Processeur Intel® Xeon® E5-2407 @2,40 GHz, 8 cœurs |
Mémoire RAM | 32 Go | 32 Go |
Disque | Magnétique - >1k IOPS | Magnétique - >1k IOPS |
Java™ | Oracle JRE version 8 | S/O |
JVM Heap | 16 Go | S/O |
Produit | AEM 6.2 | MongoDB 3.2 WiredTiger |
Entrepôt de nœuds | MongoMK | S/O |
Magasin de données | File DS | S/O |
Scénario | Produit unique : Assets / 30 threads simultanés | Produit unique : Assets / 30 threads simultanés |
Résultats de l’évaluation des performances
Comparaison de TarMK et MongoMK
La règle de base à prendre en compte pour choisir entre les deux est que TarMK est conçu pour les performances, tandis que MongoMK est utilisé pour l’évolutivité. Adobe recommande TarMK comme technologie de persistance par défaut à utiliser par les utilisateurs dans tous les scénarios de déploiement, pour les instances d’auteur et de publication AEM.
La principale raison pour choisir le serveur principal de persistance MongoMK plutôt que TarMK est de mettre les instances à l’échelle horizontale. Cette fonctionnalité signifie que deux instances de création principales ou plus s’exécutent toujours et utilisent MongoDB comme système de stockage de persistance. La nécessité d’exécuter plusieurs instances de création découle généralement du fait que la capacité du processeur et de la mémoire d’un seul serveur, prenant en charge toutes les activités de création simultanées, n’est plus suffisante.
Pour plus d’informations sur la comparaison de TarMK et MongoMK, voir Déploiements recommandés.
Consignes sur la comparaison de TarMK et MongoMk
Avantages de TarMK
- Conçu spécifiquement pour les applications de gestion de contenu
- Les fichiers sont toujours cohérents et peuvent être sauvegardés à l’aide de n’importe quel outil de sauvegarde basé sur les fichiers
- Fournit un mécanisme de basculement : consultez la section Cold Standby pour plus d’informations
- Offre des performances élevées et un stockage des données fiable avec un coût d’exploitation minimal
- Coût total de possession plus faible
Critères de sélection de MongoMK
- Nombre d’utilisateurs et d’utilisatrices nommés connectés au cours de la journée : des milliers ou plus
- Nombre d’utilisateurs et d’utilisatrices simultanés : des centaines ou plus
- Volume d’ingestions de ressources par jour : des centaines de milliers ou plus
- Volume de modifications de page par jour : des centaines de milliers ou plus
- Volume de recherches par jour : des dizaines de milliers ou plus
Références concernant la comparaison de TarMK et MongoMK
Spécifications techniques du scénario 1
Résultats de la comparaison des performances du scénario 1
Spécifications techniques du scénario 2
Résultats de la comparaison des performances du scénario 2
Conseils relatifs à l’évolutivité de l’architecture d’AEM ִSites et d’AEM Assets
Résumé des recommandations sur les performances
Consultez ci-dessous un résumé des recommandations fournies sur cette page :
-
TarMK avec magasin de données du fichier : l’architecture recommandée pour la plupart des clientes et clients :
- Topologie minimale : une instance de création, deux instances de publication, deux Dispatcher.
- La réplication sans fichiers binaires doit être activée si le magasin de données du fichier est partagé.
-
MongoMK avec magasin de données du fichier : l’architecture recommandée pour l’évolutivité horizontale au niveau de création :
- Topologie minimale : trois instances de création, trois instances MongoDB, deux instances de publication, deux Dispatcher.
- La réplication sans fichiers binaires doit être activée si le magasin de données du fichier est partagé.
-
Magasin de nœuds : stocké sur le disque local et non sur un serveur NAS (dispositif de stockage réseau).
-
Lorsque vous utilisez Amazon S3 :
- Le magasin de données Amazon S3 est partagé entre les niveaux de création et de publication.
- La réplication sans fichiers binaire doit être activée.
- La récupération de l’espace mémoire du magasin de données nécessite une première exécution sur tous les nœuds des instances de création et de publication, puis une seconde exécution sur l’instance de création.
-
L’index personnalisé doit être créé en plus de l’index prêt à l’emploi. : selon les recherches les plus courantes.
- Les index Lucene doivent être utilisés pour les index personnalisés.
-
La personnalisation du workflow peut améliorer sensiblement les performances : la suppression de l’étape vidéo dans le workflow « Ressource de mise à jour », la désactivation d’écouteurs qui ne sont pas utilisés, etc.
Pour plus d’informations, consultez également la page Déploiements recommandés.