Arborescence de la performance

Portée

Le diagramme ci-dessous est conçu pour fournir des directives sur les étapes qui doivent être suivies pour résoudre les problèmes de performances. Il est divisé en 5 sections pour en simplifier la lecture.

Chaque étape du diagramme est associée à une ressource ou à une recommandation.

Conditions préalables et hypothèses

L’hypothèse est qu’un problème de performance est observé sur une page donnée (soit sur une console AEM, soit sur une page web) et peut être reproduit systématiquement. La condition préalable est de posséder une façon de tester ou de surveiller la performance avant de lancer l’investigation.

L’analyse commence à l’étape 0. L’objectif est de déterminer les entités (dispatcher, hôte externe ou AEM) responsables du problème de performance, puis de déterminer la zone (serveur ou réseau) qui doit être étudiée.

Section 1

chlimage_1-103

Section 2

chlimage_1-104

Section 3

chlimage_1-105

Section 4

chlimage_1-106

Section 5

chlimage_1-107

Étape Titre Ressources
Étape 0 Analyse du flux de demandes

Vous pouvez utiliser l’analyse de demandes HTTP standard dans le navigateur afin d’analyser le flux de demandes. Pour plus d’informations sur la façon de procéder sur Chrome, voir :

https://developers.google.com/web/tools/chrome-devtools/profile/network-performance/resource-loading
https://developers.google.com/web/tools/chrome-devtools/profile/network-performance/understanding-resource-timing

Étape 2 Les demandes proviennent-elles des hôtes externes ? Vous pouvez utiliser l’analyse de demandes HTTP standard dans le navigateur afin d’analyser le flux de demandes. Consultez les liens ci-dessus sur la façon de procéder sur Chrome.
Étape 3 Les demandes peuvent-elles être mises en cache ? Pour plus d’informations sur les demandes pouvant être mises en cache et pour lire les conseils généraux d’optimisation des performances de dispatcher, voir Optimisation des performances du dispatcher.
Étape 4 Les demandes proviennent-elles du dispatcher ?

Reportez-vous à la documentation de débogage de dispatcher afin de déterminer si les demandes sont correctement mises en cache.

Étape 5 Le dispatcher essaie-t-il d’authentifier chaque demande via AEM ? Vérifiez si le dispatcher envoie les demandes HEAD à AEM pour authentification avant de diffuser la ressource mise en cache. Vous pouvez effectuer cette opération en recherchant les demandes HEAD dans le fichier access.log . d’AEM. Pour plus d’informations, voir Journalisation.
Étape 6 L’emplacement géographique du dispatcher est-il éloigné des utilisateurs ? Rapprochez le dispatcher des utilisateurs.
Étape 7 La couche réseau du dispatcher est-elle normale ?
Examinez la couche réseau pour les problèmes de saturation et de latence.

Étape 8 La lenteur est-elle reproductible avec une instance locale ?

Utilisez Tough Day pour répliquer les conditions « réelles » des instances de production. Si cela n’est pas réaliste dans le cadre de votre développement, assurez-vous de tester une instance de production (ou une instance d’évaluation identique) dans un autre contexte réseau.

Étape 9 Le serveur est-il éloigné des utilisateurs ? Rapprochez le serveur des utilisateurs.
Étapes 10 et 29 Examen de la couche réseau

Examinez la couche réseau pour les problèmes de saturation et de latence.

Pour le niveau de l’auteur, il est recommandé d’utiliser une latence ne dépassant pas 100 millisecondes.

Pour plus d’informations sur les conseils d’optimisation des performances, reportez-vous à cette page.

Étape 11 Rapprochez le serveur ou ajoutez-en un par région
Étape 12 Dépannage du serveur AEM Consultez les étapes suivantes du diagramme pour plus d’informations.
Étape 13 Vérification des exigences en matière de matériel Consultez la documentation sur les conseils de dimensionnement du matériel.
Étape 14 Vérification des causes fréquentes des problèmes de performances
Étape 15 Identification des demandes lentes

Vous pouvez identifier les demandes lentes en analysant le fichier request.log ou à l’aide de rlog.jar.

Pour plus d’informations sur l’utilisation de rlog.jar, consultez cette page.

Voir Utilisation de rlog.jar pour rechercher les demandes avec de longs temps d’attente.

Étape 16 Serveur de profil

Pour plus d’informations sur les outils de profilage que vous pouvez utiliser avec AEM, voir Outils de surveillance et d’analyse des performances.

Étape 17 Recherche de méthodes lentes dans le profilage
Étape 18 Scénarios de profilage courants Voir Analyse les scénarios spécifiques dans la section Optimisation des performances.
Étape 19 Processeur à 100 % https://helpx.adobe.com/fr/experience-manager/6-3/sites-deploying/monitoring-and-maintaining.html#MonitoringPerformance
Étape 20 Mémoire insuffisante
  1. Mémoire insuffisante
  2. Mon application renvoie des erreurs de mémoire insuffisante
  3. Analysez les problèmes de mémoire sur le site d’aide Adobe.
Étape 21 I/O des disques

Voir la section I/O des disques dans la documentation sur la surveillance et la maintenance.

Étapes 22 et 22.1 Ratio de cache Voir Calcul du ratio cache/dispatcher.

Étape 23 Requêtes lentes Bonnes pratiques relatives aux requêtes et à l’indexation
Étape 24 Réglage du référentiel
Étape 25 Workflows en cours d’exécution

Étape 26 Infrastructure MSM

Meilleures pratiques relatives au gestionnaire multi-site

Étape 27 Réglage des ressources
  1. Service de synchronisation des ressources
  2. Plusieurs instances de gestion des actifs numériques
  3. Articles contenant des conseils pratiques d’amélioration de la performance ici et ici.
Étape 28 Sessions Non fermées

Contrôle des sessions JCR non fermées

Étape 30 Rapprochement du dispatcher (ou ajout d’un par « région » ?)
Étape 31 Utilisation du CDN devant le dispatcher Utilisation de Dispatcher avec un CDN
Étape 32 Utilisation de la gestion de session au niveau du dispatcher pour décharger le serveur AEM

Activation des sessions sécurisées

Étape 33 Activation de la mise en cache potentielle des demandes
  1. Configuration générale du dispatcher
  2. Configuration du cache du dispatcher

Amélioration du ratio de cache ; activation de la mise en cache potentielle des demandes (meilleures pratiques de dispatcher)

En outre, tenez compte des paramètres ci-dessous afin d’optimiser vos configurations de mise en cache

  1. Définissez une règle de non mise en cache des demandes HTTP qui ne sont pas en GET
  2. Configurez les chaînes de requête de sorte qu’elles ne puissent pas être mises en cache
  3. Ne mettez pas en cache les URL avec des extensions manquantes
  4. En-têtes d’authentification du cache (possibles depuis la version 4.1.10 du dispatcher)
Étape 34 Mise à niveau de la version du dispatcher

Vous pouvez télécharger la dernière version du Dispatcher à cet emplacement :

Suivi du lien

Étape 35 Configuration du dispatcher Configuration du dispatcher
Étape 36 Vérification de l’invalidation du cache
Étapes 37 et 38 Chargement différé Voir la session sur la performance web d’AEM.
Étape 39 Utilisation d’une préconnexion pour réduire la surcharge de connexion Voir la session indiqués ci-dessus. En outre, voir la documentation supplémentaire sur les préconnexions du W3C : https://www.w3.org/TR/resource-hints/#dfn-preconnect
Étapes 40 et 41
Latence des hôtes externes et délai de réponse Examinez la latence et le délai de réponse des hôtes externes.
Étapes 45
et 47

Utilisation de HTTP/2 Voir la session des étapes 37,38 et 39. En outre, extrayez this publication du forum sur la prise en charge HTTP/2.
Étape 49 Réduction de la taille de la charge utile Activez Gzip et réduisez la taille de l’image.
Étapes 42 et 43 Keep-Alive

L’en-têteKeep-Alive est-elle présente dans les différentes demandes pour réutiliser les connexions ? Autrement, cela signifie que chaque demande entraîne l’établissement d’une autre connexion, ce qui génère des frais d’opération inutiles. (Analyse de requête HTTP standard dans le navigateur)

Vous pouvez utiliser l’Outil Proxy Server pour vérifier les connexions Keep-Alive.

Étape 44 Combien de demandes sont-elles effectuées ? Effectuez une analyse des demandes HTTP standard dans le navigateur.
Étape 46 Réduction du nombre de demandes
  1. Concaténez les ressources (images, sprite CSS, JSON, etc.)
  2. Incorporation de Clientlibs :
    1. Création de dossiers de bibliothèque cliente - voir en-tête Utilisation de l’incorporation pour réduire les requêtes
Étape 48 Quelle est la taille de la charge utile ? Analyse des demandes HTTP standard dans le navigateur
Étapes 50 et 51 Blocage du code JS Performances web AEM

Sur cette page