Work Manager et le ralentissement work-manager-and-throttling

CAUTION
AEM 6.4 a atteint la fin de la prise en charge étendue et cette documentation n’est plus mise à jour. Pour plus d’informations, voir notre période de support technique. Rechercher les versions prises en charge here.

AEM forms (et les versions antérieures) utilisaient les files d’attente JMS pour exécuter des opérations de manière asynchrone. Dans AEM forms, les files d’attente JMS ont été remplacées par Work Manager. Ce document fournit des informations d’arrière-plan sur Work Manager et fournit des instructions sur la configuration des options de ralentissement de Work Manager.

À propos des opérations de longue durée (asynchrones) about-long-lived-asynchronous-operations

Dans AEM forms, les opérations effectuées par les services peuvent être de courte durée (synchrone) ou de longue durée (asynchrone). Les opérations de courte durée se terminent de manière synchrone sur le même thread à partir duquel elles ont été invoquées. Ces opérations attendent une réponse avant de continuer.

Les opérations de longue durée peuvent s’étendre à plusieurs systèmes ou même s’étendre au-delà de l’entreprise, par exemple lorsqu’un client doit remplir et envoyer un formulaire de demande de prêt dans le cadre d’une solution plus vaste qui intègre plusieurs tâches automatisées et humaines. Ces opérations doivent se poursuivre en attendant une réponse. Les opérations de longue durée exécutent leur travail sous-jacent de manière asynchrone, ce qui permet d’allouer des ressources autrement en attendant leur achèvement. Contrairement à une opération de courte durée, Work Manager ne considère pas une opération de longue durée comme terminée une fois appelée. Un déclencheur externe, tel qu’un système demandant une autre opération sur le même service ou un utilisateur envoyant un formulaire, doit se produire pour terminer l’opération.

À propos de Work Manager about-work-manager

AEM forms (et les versions antérieures) utilisaient les files d’attente JMS pour exécuter des opérations de manière asynchrone. AEM forms utilise Work Manager pour planifier et exécuter des opérations asynchrones via des threads gérés.

Les opérations asynchrones sont gérées de la manière suivante :

  1. Work Manager reçoit une tâche à exécuter.
  2. Work Manager stocke l’élément de travail dans un tableau de base de données et lui affecte un identifiant unique. L’enregistrement de base de données contient toutes les informations requises pour exécuter l’élément de travail.
  3. Les threads Work Manager extraient des tâches lorsque les threads deviennent libres. Avant d’extraire les tâches, les threads peuvent vérifier si les services requis sont démarrés, s’il existe suffisamment de taille de tas pour extraire l’élément de travail suivant et s’il existe suffisamment de cycles de processeur pour traiter l’élément de travail. Work Manager évalue également les attributs de l’élément de travail (comme sa priorité) lors de la planification de son exécution.

Les administrateurs d’AEM forms peuvent utiliser Health Monitor pour vérifier les statistiques Work Manager, telles que le nombre de tâches dans la file d’attente et leur état. Vous pouvez également utiliser Health Monitor pour suspendre, reprendre, réessayer ou supprimer des tâches. (Voir Affichage des statistiques relatives à Work Manager.)

Configuration des options de ralentissement de Work Manager configuring-work-manager-throttling-options

Vous pouvez configurer le ralentissement pour Work Manager, de sorte que les tâches ne soient planifiées que lorsque les ressources mémoire sont suffisantes. Configurez le ralentissement en définissant les options JVM suivantes dans votre serveur d’applications.

Propriété
Description
 adobe.work-manager.queue-refill-interval

Indique l’intervalle, en millisecondes, utilisé par Work Manager lors de la vérification de nouveaux éléments dans sa file d’attente.

La valeur de cette option est un entier. La valeur par défaut est de 1000 millisecondes (1 seconde).

Si le volume des appels asynchrones est faible, vous pouvez augmenter cette valeur. Par exemple, vous pouvez l’augmenter à un niveau compris entre 2 000 et 5 000 (2 à 5 secondes).

Si le volume des appels asynchrones est élevé, la valeur par défaut doit être suffisante, mais vous pouvez utiliser une valeur inférieure si nécessaire. Si vous réduisez trop cette valeur (par exemple, en dessous de 50, ce qui entraîne une fréquence d’interrogation de 20 fois par seconde), le système est considérablement pris en charge.

 adobe.workmanager.debug-mode-enabled

Définissez cette option sur true pour activer le mode de débogage ou sur false pour le désactiver.

En mode de débogage, les messages concernant les violations de stratégie de Work Manager et les actions de mise en pause/reprise de Work Manager sont consignés. Définissez cette option sur true uniquement lors de la résolution des problèmes.

 adobe.workmanager.memory-control.enabled
Définissez cette option sur true pour activer le ralentissement en fonction des paramètres de contrôle de la mémoire décrits ci-dessous, ou sur false pour le désactiver.
 adobe.workmanager.memory-control.high-limit

Spécifie le pourcentage maximum de mémoire pouvant être utilisé avant que Work Manager ralentisse les travaux entrants.

La valeur par défaut de cette option est 95. Elle convient à la plupart des systèmes. Augmentez-la uniquement si votre système doit atteindre sa capacité maximale. Mais notez qu’en augmentant cette valeur, le risque de problèmes de mémoire insuffisante augmente également.

Si vous exécutez AEM forms dans un environnement organisé en grappe, vous pouvez définir les paramètres de limite de contrôle de la mémoire différemment sur différents noeuds de la grappe. Par exemple, vous pouvez avoir une limite élevée plus faible sur les noeuds A et B, qui sont programmés dans votre équilibreur de charge pour un travail interactif. Et vous pouvez définir des limites hautes plus élevées sur les noeuds C et D, qui ne sont pas utilisés par l’équilibreur de charge, mais réservés au travail asynchrone.

 adobe.workmanager.memory-control.low-limit

Spécifie le pourcentage maximal de mémoire pouvant être utilisé avant que Work Manager cesse de limiter les tâches entrantes.

La valeur par défaut de cette option est 20. Elle convient à la plupart des systèmes.

Dadobe.workmanager.allocate.max-batch-size

Indique la taille maximale du lot pour workmanager. La taille de lot par défaut est 10.

Si l’état d’un processus dans le gestionnaire de travail n’est pas mis à jour même une fois la tâche terminée, définissez la taille du lot sur 1.

Ajout d’options Java à JBoss

  1. Arrêtez le serveur d’applications JBoss.
  2. Ouvrez [appserver root]/bin/run.bat (Windows) ou run.sh (Linux ou UNIX) dans un éditeur et ajoutez toutes les options Java requises, au format -Dproperty=value.
  3. Redémarrez le serveur.

Ajout d’options Java à WebLogic

  1. Démarrez WebLogic Administration Console en saisissant https://[nom d’hôte ]:[port] /console dans un navigateur web.

  2. Saisissez le nom d’utilisateur et le mot de passe que vous avez créés pour le domaine WebLogic Server, puis cliquez sur Journal sous Change Center, puis sur Lock & Edit.

  3. Sous Domain Structure, cliquez sur Environment > Servers et, dans le volet de droite, cliquez sur le nom du serveur géré.

  4. Dans l’écran suivant, cliquez sur les onglets Configuration > Server Start.

  5. Dans la zone Arguments , ajoutez les arguments dont vous avez besoin à la fin du contenu actuel. Par exemple, pour désactiver Health Monitor, ajoutez :

    -Dadobe.healthmonitor.enabled=false permet de désactiver Health Monitor.

  6. Cliquez sur Save, puis sur Activate Changes.

  7. Redémarrez le serveur géré WebLogic.

Ajout d’options Java à WebSphere

  1. Dans l’arborescence de navigation de la console d’administration WebSphere, cliquez sur Servers > Server Types > WebSphere application servers.
  2. Dans le volet de droite, cliquez sur le nom du serveur.
  3. Sous Server Infrastructure, cliquez sur Java and forms workflow > Process Definition.
  4. Sous Additional Properties, cliquez sur Java Virtual Machine.
  5. Dans la zone Generic JVM arguments , saisissez les arguments dont vous avez besoin.
  6. Cliquez sur OK ou sur Apply, puis sur Save directly to master configuration.
recommendation-more-help
a6ebf046-2b8b-4543-bd46-42a0d77792da