Work Manager et le ralentissement

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

A propos des opérations de longue durée (asynchrones)

Dans AEM forms, les opérations effectuées par les services peuvent être de longue (asynchrones) ou de courte durée (synchrones). Les opérations de courte durée sont achevées simultanément sur le même thread que celui qui les a appelées. Ces opérations attendent une réponse avant de continuer.

Les opérations de longue durée peuvent mobiliser plusieurs systèmes ou s’étendre au-delà de l’entreprise, notamment lorsqu’un client doit compléter et soumettre un formulaire de demande de prêt dans le cadre d’une solution regroupant de multiples tâches humaines et automatisées. Ces opérations doivent continuer tout en attendant une réponse. Les opérations de longue durée s’exécutent de manière asynchrone, tout en permettant d’allouer des ressources à une autre tâche entre-temps. Contrairement à une opération de courte durée, Work Manager ne considère pas une opération de longue durée comme terminée lorsqu’elle est appelée. Un déclencheur externe, comme un système demandant une autre opération au même service ou un utilisateur envoyant un formulaire, doit être activé pour achever l’opération.

A propos de Work Manager

AEM forms (et les versions antérieures) utilisaient les files d’attente JMS pour exécuter des opérations de façon 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 comme suit :

  1. Work Manager reçoit une tâche prête à être exécutée.

  2. Work Manager stocke les travaux dans un tableau de base de données et affecte un identifiant unique à chacun d’eux. L’enregistrement de base de données contient toutes les informations requises pour exécuter la tâche.

  3. Les threads Work Manager intègrent les tâches lorsque les threads se libèrent. Avant d’intégrer les tâches, les threads peuvent vérifier si les services requis ont bien été lancés, si la taille du tas est suffisante pour intégrer la tâche suivante et si le nombre de cycles de processeur est suffisant pour traiter la tâche. Work Manager évalue également les attributs de la tâche (tels que sa priorité) lors de la planification de son exécution.

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

Configuration des options de ralentissement de Work Manager

Vous pouvez configurer le ralentissement de Work Manager, de façon que les tâches ne soient planifiées qu’une fois les ressources mémoire suffisantes. Pour configurer le ralentissement, définissez les options suivantes pour la JVM dans votre serveur d’applications.

Propriété

Description

adobe.work-manager.queue-refill-interval

Spécifie l’intervalle, en millisecondes, utilisé par Work Manager pour vérifier la présence de nouvelles tâches dans sa file d’attente.

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

Si le volume d’appels asynchrones est faible, vous pouvez l’augmenter. Vous pouvez par exemple passer à une valeur comprise entre 2 000 et 5 000 (2 à 5 secondes).

Si le volume d’appels asynchrones est élevé, la valeur par défaut doit suffire, mais vous pouvez, si nécessaire, utiliser une valeur plus faible. Réduire cette valeur de façon trop importante (par exemple en dessous de 50, cette valeur entraînant 20 interrogations par seconde) provoque une surcharge substantielle au niveau du système.

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 se rapportant aux violations de stratégies et aux actions de mise en pause/reprise de Work Manager sont enregistrés. Définissez cette option sur true uniquement dans le cadre d’un dépannage.

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 a besoin d’utiliser sa capacité maximale. Veuillez toutefois noter qu’une augmentation de cette valeur accroît également le risque de problèmes de mémoire.

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

adobe.workmanager.memory-control.low-limit

Spécifie le pourcentage maximum de mémoire pouvant être utilisé avant que Work Manager arrête le ralentissement des travaux entrants.

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

Ajout d’options Java à JBoss

  1. Arrêtez le serveur d’applications JBoss.

  2. Ouvrez [racine du serveur d’applications] /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. Ouvrez WebLogic Administration Console en saisissant http:// [nom hôte] : [port] /console dans un navigateur Web.

  2. Saisissez le nom d’utilisateur et le mot de passe créés pour le domaine WebLogic Server, puis cliquez sur Log. Sous Change Center, cliquez 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 souhaités à 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 Enregistrer, puis sur Activer les changements.

  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 Infrastructure du serveur, cliquez sur Processus Java et formulaires > Définition du process.

  4. Sous Additional Properties, cliquez sur Java Virtual Machine.

  5. Dans la zone Generic JVM arguments, saisissez les arguments souhaités.

  6. Cliquez sur OK ou sur Apply, puis sur Save directly to master configuration.