Environnement
Adobe Experience Manager
Problème/Symptômes
Cet article se concentre sur les moyens d’améliorer les performances de votre site. Nous avons mis en évidence les différents aspects des applications et architectures Adobe Experience Manager (AEM) qui ont causé le plus de problèmes de performances. En implémentant les optimisations répertoriées ici, vous pouvez éviter ces problèmes courants.
Performances du site
Performances côté client
Utiliser et optimiser les bibliothèques clientes d’AEM : les bibliothèques clientes sont un moyen facile de centraliser la gestion et l’optimisation du code CSS et JavaScript dans votre site.
Insérer CSS dans la balise d’en-tête de HTML : permet d’éviter le scintillement et la réactualisation de la page après le chargement.
Insérer un script JavaScript dans la balise de fin de corps ou ajouter la balise attribut de script asynchrone : permet au navigateur de charger des fichiers JavaScript en parallèle pendant le rendu de la page.
Mise en oeuvre du partage de domaine : par défaut, les navigateurs web limitent le nombre maximum de requêtes parallèles par domaine pendant le chargement de la page. Cela peut entraîner des retards dans le chargement de la page si vous disposez de nombreuses ressources telles que CSS, JavaScript, etc. qui doit être chargé avant le rendu de votre page. Le partage de domaine est une solution qui permet de résoudre ce problème. Le partage de domaine est l’emplacement où vous incluez des fichiers tels que CSS et JavaScript sur votre site via plusieurs sous-domaines.
Par exemple :
script src="//includes1.yoursite.com/etc/clientlibs/test.js"/script
script src="//includes2.yoursite.com/etc/clientlibs/test2.js"/script
Utilisation ACS Commons - Static Reference Rewriter pour mettre en oeuvre le partage de domaine.
Cache JavaScript et CSS pendant de longues périodes : pour permettre la mise en cache de JavaScript et de CSS pendant de longues périodes, utilisez ACS Commons - Clientlibs versionnées.
Voir Documentation sur les règles Google PageSpeed pour plus d’informations sur l’optimisation de votre site.
Voir Session AEM Gems pour plus d’informations sur les optimisations du site.
Performances de modification de l’instance d’auteur
Optimisation du cache
Dans une architecture de site AEM commune, la requête HTTP passe par plusieurs caches avant d’atteindre enfin les instances de publication AEM. L’une des méthodes les plus simples pour améliorer les performances du site consiste à optimiser la mise en cache de votre site.
Voir cet article pour obtenir des instructions détaillées sur la manière d’optimiser la mise en cache sur votre site.
Optimisation des index pour les requêtes JCR personnalisées
Une autre optimisation qui améliore les performances consiste à configurer et à optimiser les index Oak pour vos requêtes JCR personnalisées. Si vous utilisez des requêtes JCR dans votre application, il s’agit généralement d’une tâche obligatoire.
Consultez la documentation officielle (1 et 2) pour savoir comment implémenter des index Oak pour vos requêtes d’application personnalisées.:
QueryBuilder guessTotal
Si vous utilisez l’AEM QueryBuilder et que vous prévoyez que la requête renvoie de nombreux résultats, veillez toujours à définir la propriété guessTotal sur le PredicateGroup racine, car cela réduira l’utilisation de la mémoire. Consultez la documentation officielle à ce sujet pour plus de détails : API Query Builder