Plateforme
Bien qu’Experience Manager soit pris en charge sur plusieurs plateformes, Adobe a trouvé le meilleur moyen de prendre en charge les outils natifs sous Linux et Windows, ce qui contribue à offrir des performances optimales et à faciliter l’implémentation. Dans l’idéal, vous devez déployer un système d’exploitation 64 bits pour répondre aux besoins de stockage du déploiement d’Experience Manager Assets. A l’instar de tout déploiement d’Experience Manager, vous devez mettre en œuvre TarMK dans la mesure du possible. Bien que TarMK ne puisse pas mesurer au-delà d’une instance d’auteur simple, il semble offrir de meilleurs résultats que MongoMK. Vous pouvez ajouter des instances de déchargement TarMK pour améliorer la capacité de traitement des workflows de votre déploiement d’Experience Manager Assets.
Dossier temporaire
Afin de réduire les délais de chargement des ressources, utilisez un stockage haute performance pour le répertoire temporaire Java. Sous Linux et Windows, un disque SSD ou RAM peut être utilisé. Dans des environnements cloud, un type de stockage à grande vitesse équivalent peut être utilisé. Par exemple, dans Amazon EC2, un disque éphémère peut être utilisé pour le dossier temporaire.
En supposant que le serveur dispose de suffisamment de mémoire, configurez un disque RAM. Sous Linux, exécutez les commandes suivantes pour créer un disque RAM de 8 Go :
mkfs -q /dev/ram1 800000
mkdir -p /mnt/aem-tmp
mount /dev/ram1 /mnt/aem-tmp
df -H | grep aem-tmp
Sous le système d’exploitation Windows, utilisez un pilote tiers pour créer un disque RAM ou pour simplement utiliser le stockage haute performance tel qu’un SSD.
Une fois que le volume temporaire haute performance est prêt, définissez le paramètre JVM -Djava.io.tmpdir
. Par exemple, vous pouvez ajouter le paramètre JVM sous la variable CQ_JVM_OPTS
dans le script bin/start
d’Experience Manager :
-Djava.io.tmpdir=/mnt/aem-tmp
Configuration Java
Version Java
Adobe recommande de déployer Experience Manager Assets sur Java 8 pour des performances optimales.
Paramètres JVM
Définissez les paramètres JVM suivants :
-XX:+UseConcMarkSweepGC
-Doak.queryLimitInMemory
=500000-Doak.queryLimitReads
=100000-Dupdate.limit
=250000-Doak.fastQuerySize
=true
Configuration du magasin de données et de la mémoire
Configuration du magasin de données basé sur les fichiers
Nous recommandons à tous les utilisateurs d’Experience Manager Assets de séparer le magasin de données et l’entrepôt de segments. En outre, la configuration des paramètres maxCachedBinarySize
et cacheSizeInMB
peut vous aider à optimiser les performances. Définissez le paramètre maxCachedBinarySize
selon la plus petite taille de fichier pouvant être contenue dans le cache. Spécifiez la taille du cache en mémoire à utiliser pour l’entrepôt de données dans cacheSizeInMB
. Adobe vous recommande de définir cette valeur entre 2 et 10 % de la taille totale du tas. Toutefois, les tests de charge/performance peuvent vous aider à déterminer le paramètre idéal.
Configuration de la taille maximale du cache d’images mis en mémoire tampon
Lors du chargement d’un grand nombre de ressources vers Adobe Experience Manager, réduisez la taille maximale configurée du cache d’images mis en mémoire tampon. De cette façon, vous tiendrez compte des pics inattendus de consommation de la mémoire et éviterez l’échec de JVM du fait d’erreurs de mémoire insuffisante. Prenez l’exemple d’un système présentant un tas maximal (paramètre -Xmx
) de 5 Go, un BlobCache Oak défini sur 1 Go et un cache de documents défini sur 2 Go. Dans ce cas, le cache mis en mémoire tampon prendrait 1,25 Go au maximum de mémoire, ce qui laisserait seulement 0,75 Go de mémoire pour les pics inattendus.
Configurez la taille du cache mis en mémoire tampon dans la console web OSGi. À l’emplacement https://host:port/system/console/configMgr/com.day.cq.dam.core.impl.cache.CQBufferedImageCache
, définissez la propriété cq.dam.image.cache.max.memory
en octets. Par exemple, 1073741824 représente 1 Go (1 024 x 1 024 x 1 024 = 1 Go).
À partir du Pack de services 1 d’Experience Manager 6.1, si vous utilisez un nœud sling:osgiConfig
pour configurer cette propriété, veillez à définir le type de données sur Long. Pour plus d’informations, voir CQBufferedImageCache utilise le tas lors des chargements de ressources.
Entrepôts de données partagés
La mise en œuvre d’un magasin de données basé sur les fichiers, partagé ou S3, peut vous aider à économiser de l’espace disque et à augmenter le débit réseau dans des implémentations à grande échelle. Pour plus d’informations sur les avantages et inconvénients de l’utilisation d’un magasin de données partagé, consultez le Guide de dimensionnement d’AEM Assets.
Magasin de données S3
La configuration du magasin de données S3 suivante (org.apache.jackrabbit.oak.plugins.blob.datastore.S3DataStore.cfg
) a permis à Adobe d’extraire 12,8 To d’objets BLOB (Binary Large Objects) d’un magasin de données basé sur les fichiers existant dans un magasin de données S3 vers un site client :
accessKey=<snip>
secretKey=<snip>
s3Bucket=<snip>
s3Region=us-standard
s3EndPoint=<a href="https://s3.amazonaws.com/">s3.amazonaws.com</a>
connectionTimeout=120000
socketTimeout=120000
maxConnections=80
writeThreads=60
concurrentUploadsThreads=30
asyncUploadLimit=30
maxErrorRetry=1000
path=/opt/author/crx-quickstart/repository/datastore
s3RenameKeys=false
s3Encryption=SSE_S3
proactiveCaching=true
uploadRetries=1000
migrateFailuresCount=400
Optimisation du réseau
Adobe recommande d’activer HTTPS, car de nombreuses entreprises qui possèdent des pare-feu analysent le trafic HTTP, ce qui a une incidence sur les chargements et endommage les fichiers. Pour les chargements de fichiers volumineux, assurez-vous que les utilisateurs disposent d’une connexion filaire au réseau, car les réseaux Wi-Fi saturent rapidement. Pour obtenir de l’aide sur l’identification des goulots d’étranglement du réseau, consultez le Guide de dimensionnement des ressources. Pour évaluer les performances du réseau en analysant sa topologie, consultez les Remarques sur le réseau des ressources.
Votre stratégie d’optimisation du réseau dépend essentiellement de la quantité de bande passante disponible et du chargement sur votre instance Experience Manager. Les options de configuration courantes, notamment les pare-feu ou les proxys, peuvent améliorer les performances du réseau. Voici quelques points essentiels à garder à l’esprit :
- Selon votre type d’instance (petite, moyenne ou grande), vérifiez que vous disposez de suffisamment de bande passante réseau pour votre instance Experience Manager. L’allocation d’une bande passante appropriée est particulièrement importante si Experience Manager est hébergé sur AWS.
- Si votre instance Experience Manager est hébergée sur AWS, vous pouvez tirer profit d’une politique de mise à l’échelle polyvalente. Augmentez la taille de l’instance si les utilisateurs prévoient une charge élevée. Réduisez sa taille pour une charge moyenne/faible.
- HTTPS : la plupart des utilisateurs et utilisatrices disposent de pare-feu qui détectent le trafic HTTP, ce qui peut avoir un impact négatif sur le chargement des fichiers ou même endommager les fichiers lors de l’opération de chargement.
- Chargements de fichiers volumineux : assurez-vous que les utilisateurs et utilisatrices disposent de connexions câblées au réseau (les connexions Wi-Fi se saturent rapidement).