Cette section décrit les paramètres facultatifs que vous pouvez configurer pour améliorer les performances du serveur d’applications AEM forms.
AEM forms utilise le référentiel AEM forms comme source de données. Le référentiel AEM forms stocke les actifs de l’application et, lors de l’exécution, les services peuvent récupérer ces derniers dans le cadre d’un processus métier automatisé.
L’accès à la source de données peut être ralenti selon le nombre de modules AEM forms exécutés et le nombre d’utilisateurs qui accèdent simultanément à l’application. Il peut être optimisé grâce à l’utilisation d’un pool de connexions. Le regroupement de connexions en un pool est une technique qui permet d’éviter de créer d’autres connexions de base de données, chaque fois qu’un objet d’application ou de serveur a besoin d’accéder à la base de données. Ce pool est généralement utilisé dans des applications Web ou d’entreprise, et géré par un serveur d’applications, mais sans être limité à ce dernier.
Il est important de correctement configurer les paramètres du pool de connexions de sorte à ne jamais être à court de connexions, ce qui pourrait entraîner une détérioration des performances de l’application.
Pour configurer correctement les paramètres du pool de connexions, l’administrateur du serveur d’applications doit contrôler l’utilisation du pool pendant les heures de pointe. Ce contrôle garantit que le nombre de connexions disponibles est suffisant pour les applications et les utilisateurs, quelle que soit l’heure. En majorité, les serveurs d’applications incluent des outils de surveillance.
Utilisez WebLogic Server Administration Console pour contrôler les statistiques de chaque instance de source de données JDBC dans votre domaine Reportez-vous à votre documentation WebLogic pour plus d’informations.
Lorsque l’administrateur du serveur d’applications détermine les paramètres corrects du pool de connexions, il doit communiquer ces informations à l’administrateur de la base de données. Cette information lui est nécessaire car le nombre de connexions à la base de données doit être égal au nombre de connexions définies dans le pool pour la source de données. Ensuite, suivez la procédure ci-dessous pour configurer les paramètres du pool de connexions de votre serveur d’applications et de votre type de source de données.
Sous Domain Structure, cliquez sur Services > JDBC > Data sources et, dans le volet de droite, cliquez sur IDP_DS.
Dans l’écran suivant, cliquez sur Configuration > Connection Pool (onglet), puis saisissez une valeur dans les champs suivants :
Cliquez sur Enregistrer, puis sur Activer les modifications.
Redémarrez le serveur géré WebLogic.
Sous Centre des modifications, cliquez sur Verrouiller et modifier.
Sous Domain Structure, cliquez sur Services > JDBC > Data sources, puis dans le volet de droite, cliquez sur EDC_DS.
Dans l’écran suivant, cliquez sur Configuration > Connection Pool (onglet), puis saisissez une valeur dans les champs suivants :
Cliquez sur Enregistrer, puis sur Activer les modifications.
Redémarrez le serveur géré WebLogic.
Si vous traitez régulièrement des documents de petite taille, vous pouvez améliorer les performances associées à la vitesse de transfert des documents et à l’espace de stockage. Pour ce faire, implémentez les configurations de produit AEM forms suivantes :
La taille maximale de la ligne d’entrée et les répertoires de stockage (répertoire des fichiers temporaires et répertoire de stockage global d’AEM forms) sont configurés dans Administration Console.
Lorsque la taille d’un document à traiter avec AEM forms est inférieure ou égale à la taille maximale de la ligne d’entrée du document par défaut, le document est stocké sur le serveur de la ligne d’entrée et sérialisé sous la forme d’un objet Adobe Document. Le stockage de documents de ligne d’entrée peut considérablement accroître les performances. Toutefois, si vous utilisez le processus des formulaires, le contenu peut également être stocké dans la base de données à des fins de suivi. Par conséquent, une augmentation de la taille maximale de la ligne d’entrée peut affecter la taille de la base de données.
Un document dont la taille est supérieure à la taille maximale de la ligne d’entrée est stocké dans le système de fichiers local. L’objet Adobe Document transféré au serveur ou par ce dernier n’est qu’un pointeur permettant de localiser ce fichier.
Lorsque le contenu du document est en ligne d’entrée (c’est-à-dire qu’il est inférieur à la taille maximale de la ligne d’entrée), il est enregistré dans la base de données (dans le cadre de la charge utile de sérialisation du document). Par conséquent, une augmentation de la taille maximale de la ligne d’entrée peut affecter la taille de la base de données.
Modification de la taille maximale de la ligne d’entrée
Dans la console d’administration, cliquez sur Paramètres > Paramètres du système principal > Configurations.
Saisissez une valeur dans le champ Taille maximale par défaut de la ligne d’entrée du document, puis cliquez sur OK.
La valeur de la propriété de la taille maximale de la ligne d’entrée du document doit être identique pour l’environnement AEM Forms sur JEE et pour le bundle AEM Forms sur OSGi, inclus dans l’environnement AEM Forms sur JEE. Cette étape a mis à jour la valeur uniquement pour l’environnement AEM Forms sur JEE et non pour le lot AEM Forms sur OSGi, y compris l’environnement AEM Forms sur JEE.
Redémarrez le serveur d’applications à l’aide de la propriété système suivante :
com.adobe.idp.defaultDocumentMaxInlineSize=[value specified in Step 2]
La propriété système mentionnée ci-dessus remplace la valeur de la propriété Taille maximale de la ligne d’entrée du document définie pour l’environnement AEM Forms sur JEE et pour le lot AEM Forms sur OSGi, y compris l’environnement AEM Forms sur JEE.
La taille maximale par défaut de la ligne d’entrée équivaut à 65 536 octets.
L’augmentation de la taille maximale de la ligne d’entrée nécessite plus de mémoire pour le stockage des documents sérialisés. Une augmentation de la taille maximale du tas de la JVM est donc généralement nécessaire.
Un système lourdement chargé et traitant un grand nombre de documents peut rapidement saturer la mémoire du tas JVM. Pour éviter de saturer la mémoire (OutOfMemoryError), vous devez augmenter la taille maximale du tas de la JVM d’un volume correspondant à la taille des documents de la ligne d’entrée multipliée par le nombre de documents généralement exécutés à un moment donné.
Taille maximale du tas de la JVM = (taille des documents de ligne d’entrée) x (nombre moyen de documents traités)
Calcul de la taille maximale du tas de la JVM
Dans cet exemple, la taille maximale actuelle du tas de la JVM est de 512 Mo et la taille maximale de la ligne d’entrée, de 64 Ko. Vous devez configurer le serveur pour le scénario suivant : 10 tâches sont exécutées simultanément et chacune compte 9 fichiers d’entrée et un fichier de résultats (soit un total de 10 fichiers par tâche et 100 fichiers traités simultanément). La taille de chaque fichier ne dépasse pas 512 Ko.
Pour stocker tous les fichiers dans la ligne d’entrée, la taille maximale de cette dernière doit être de 512 Ko au minimum.
Utilisez l’équation suivante pour calculer l’augmentation requise de la taille maximale du tas de la JVM :
(512 Ko) x (100) = 51 200 Ko ou 50 Mo
Vous devez augmenter la taille maximale du tas JVM de 50 Mo pour un total de 562 Mo.
Fragmentation du tas
Si vous réglez la taille des documents de ligne d’entrée sur de grandes valeurs, vous augmentez le risque d’apparition d’erreurs OutOfMemoryError sur les systèmes sujets à la fragmentation du tas. Pour stocker un document de ligne d’entrée, il faut que la mémoire du tas JVM dispose d’un espace contigu suffisant. Certains systèmes d’exploitation, JVM et algorithmes collecteurs sont sujets à la fragmentation du tas. La fragmentation réduit la quantité d’espace de tas contigu et peut générer un message de mémoire saturée (OutOfMemoryError) même si l’espace disponible total est suffisant.
Par exemple, les précédentes opérations sur le serveur d’applications ont laissé le tas JVM dans un état fragmenté et le collecteur est incapable de compresser suffisamment le tas pour récupérer de grands blocs d’espace libre. Une erreur OutOfMemoryError peut se produire même si vous augmentez la taille maximale du tas JVM en fonction de la ligne d’entrée.
Pour éviter une fragmentation du tas, la taille du document de ligne d’entrée ne doit pas dépasser la taille totale du tas de plus de 0,1 %. Par exemple, une taille maximale du tas JVM de 512 Mo peut prendre en charge une taille maximale de ligne d’entrée de 512 Mo x 0,001 = 0,512 Mo, soit 512 Ko.
Cette section décrit les paramètres spécifiques à l’environnement du serveur d’applications WebSphere.
Si vous exécutez Configuration Manager ou si vous essayez de générer le code de déploiement EJB (Enterprise JavaBeans) à l’aide de l’utilitaire de ligne de commande ejbdeploy et qu’une erreur OutOfMemory survient, augmentez la quantité maximale de mémoire allouée à la JVM.
Modifiez le script ejbdeploy dans le répertoire [racine du serveur d’applications]/deploytool/itp/ :
ejbdeploy.bat
ejbdeploy.sh
Recherchez le paramètre -Xmx256M
et affectez-lui une valeur supérieure, comme -Xmx1024M
.
Enregistrez le fichier.
Exécutez la commande ejbdeploy
ou effectuez de nouveau le déploiement à l’aide de Configuration Manager.
Cette section décrit les paramètres propres à un environnement exécutant le système d’exploitation Windows Server 2003.
L’utilisation du pool de connexions sur la connexion de recherche peut réduire le nombre de ports requis de 50 %. Ceci est dû au fait que cette connexion utilise toujours les mêmes informations d’identification pour un domaine donné, et le contexte et les objets liés sont fermés de manière explicite.
Cliquez sur Démarrer > Exécuter pour lancer l’éditeur de registre, puis dans le champ Ouvrir, tapez regedit
et cliquez sur OK.
Accédez à la clé de registre HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
.
Dans le volet droit de l’éditeur de registre, recherchez le nom de valeur TcpTimedWaitDelay. Si ce nom n’apparaît pas, sélectionnez Edition > Nouveau > Valeur DWORD dans la barre de menus pour l’ajouter.
Dans la zone Nom, saisissez TcpTimedWaitDelay
Si vous ne voyez pas un curseur clignotant et New Value #
dans le champ, effectuez un clic droit dans le panneau de droite, sélectionnez Renommer, puis dans le champ Nom, saisissez TcpTimedWaitDelay
.
Répétez l’étape 4 pour les noms de valeur MaxUserPort, MaxHashTableSize et MaxFreeTcbs.
Cliquez deux fois dans le volet de droite pour définir la valeur TcpTimedWaitDelay. Sous Base, sélectionnez Décimale puis entrez 30
dans le champ Valeur.
Cliquez deux fois dans le volet de droite pour définir la valeur MaxUserPort. Sous Base, sélectionnez Décimale puis entrez 65534
dans le champ Valeur.
Cliquez deux fois dans le volet de droite pour définir la valeur MaxHashTableSize. Sous Base, sélectionnez Décimale puis entrez 65536
dans le champ Valeur.
Cliquez deux fois dans le volet de droite pour définir la valeur MaxFreeTcbs. Sous Base, sélectionnez Décimale puis entrez 16000
dans le champ Valeur.
Vous risquez de rencontrer de sérieux problèmes si vous modifiez le registre, au moyen de l’éditeur de registre ou d’une autre méthode, de façon incorrecte. Vous pourriez être obligé de réinstaller votre système d’exploitation. Modifiez le registre à vos propres risques.