Remarques sur le serveur d'applications
HCL Commerce est une autre application Java 2 qui fonctionne au-dessus de WebSphere Application Server et de WebSphere Liberty. WebSphere Application Server se comporte donc comme le système d'exploitation de HCL Commerce. L'optimisation des serveurs d'applications optimisés améliore les performances de HCL Commerce.
- Executor (equivalent to tWAS web container)
- connectionManager (équivalent à la taille du pool de connexions de la source de données)
- JVM generic parameters doit être réglé dans jvm.options
- Command line options Utilisez ce guide comme référence aux paramètres JVM.
Le serveur de transactions HCL Commerce utilise WebSphere Application Server. Vous trouverez presque toutes les informations relatives à l'optimisation des performances dans la documentation de WebSphere Application Server, Version 9 (en particulier, rubriques relatives au contrôle et à la résolution des incidents, ainsi qu'à l'optimisation des performances). Il existe cependant plusieurs cas propres à HCL Commerce que nous allons présenter dans les sections suivantes.
Pool de connexions d'unités d'exécution du conteneur Web
Contrairement aux unités d'exécution utilisées par le serveur Web qui nécessite de nombreuses unités d'exécution pour pouvoir gérer de grandes quantités de requêtes relativement simples dans un temps limité (c'est-à-dire service d'un fichier .jpg), les requêtes du serveur d'applications sont moins nombreuses, plus complexes et plus longues à traiter.
WebSphere Application Server permet aux utilisateurs de personnaliser à la fois la taille maximale et la taille minimale du pool d'unités d'exécution du conteneur Web. Il est faux de croire qu'un grand nombre d'unités d'exécution améliore à la fois le rendement et la capacité de gestion d'un grand nombre d'utilisateurs simultanés.
En réalité, lorsque de trop nombreuses unités d'exécution du conteneur Web s'exécutent, chaque processeur du serveur peut potentiellement traiter un grand nombre de demandes à n'importe quel moment. Cela peut obliger le système d'exploitation à passer beaucoup de temps à gérer les unités et à passer de l'une à l'autre au lieu de traiter les requêtes réelles. En outre, chaque unité d'exécution supplémentaire consomme des ressources telles que des connexions mémoire et base de données sur WebSphere Application Server. Ces ressources provenant d'unités d'exécution externes peuvent être utilisées si elles sont libérées.
Si le nombre des unités d'exécution du conteneur Web est fixé trop bas, WebSphere Application Server n'aura pas suffisamment de charge de travail et l'unité centrale sera toujours sous-utilisée.
Il est conseillé de définir le nombre maximal d'unités d'exécution par au moins 10. Si vous avez plusieurs processeurs, commencez par 5 unités d'exécution par unité centrale lors de la configuration de WebSphere Application Server. Par exemple, dans un système à 4 voies, vous devez utiliser 20 unités d'exécution de conteneur Web. Vous ne devez ensuite augmenter le nombre maximal d'unités d'exécution que lorsque vous pensez que le taux d'utilisation de l'unité centrale pourrait être supérieur en ayant une charge de travail simultanée supplémentaire.
La taille minimale doit être identique à la taille maximale ; de cette façon, le serveur d'applications n'a pas besoin de détruire ni de créer des unités d'exécution.
- Unités d'exécution du conteneur Web
- Unités d'exécution de la planification active
- Gestionnaire de clés HCL Commerce
- HCL Commerce audit
- Programmes d'écoute de IBM MQ
- Autres unités d'exécution à connexions multiples dans votre code personnalisé
Pool de connexions à la base de données
La documentation WebSphere Application Server indique que le pool de connexions à la base de données doit être plus petit que le pool d'unités d'exécution du conteneur Web. Ce n'est toutefois pas le cas pour les configurations de HCL Commerce. Pour HCL Commerce, chaque unité d'exécution du conteneur Web WebSphere doit disposer d'au moins une connexion correspondante à la base de données. En outre, lorsque l'on utilise le planificateur HCL Commerce, une connexion supplémentaire à la base de données doit être réservée afin de s'assurer du bon fonctionnement des unités d'exécution du planificateur HCL Commerce.
Si le nombre de connexions à la base de données est insuffisant dans le pool, il n'y aura pas suffisamment d'unités d'exécution pour les demandes. Par conséquent, l'unité centrale du serveur d'application ne pourra pas être utilisée complètement, le rendement n'étant alors plus aussi élevé qu'il pourrait l'être.
Taille du pool de connexions à la source de données
- Unités d'exécution du conteneur Web
- Unités d'exécution du gestionnaire de travaux (quatre groupes pour le planificateur, un groupe réservé pour les autres tâches HCL Commerce)Pour afficher et éditer les gestionnaires de travaux HCL Commerce :
- Ouvrez la console d'administration de WebSphere Application Server.
- Accédez à Gestionnaire de travaux.
- Chaque gestionnaire de travaux HCL Commerce est répertorié sous la catégorie HCL Commerce .
- Après avoir cliqué sur un gestionnaire de travaux, vous pouvez entrer la valeur de la propriété Nombre maximal d'unités d'exécution sous Propriétés du pool d'unités d'exécution.
- Sauvegardez vos modifications.
Pour déterminer la taille du pool de connexions, il faut faire la somme de tous les nombres maximum d'unités d'exécution de tous les pools d'unités d'exécution, y compris des gestionnaires de travaux, des conteneurs Web et du gestionnaire de clés HCL Commerce.
- Pool d'unités d'exécution par défaut
Le pool d'unités d'exécution réservé HCL Commerce permet jusqu'à 10 unités d'exécution par défaut. Les unités d'exécution par défaut comprennent des unités d'exécution réservées, par exemple, pour la publication de magasin, le programme d'écoute IBM MQ, l'unité d'exécution de contrôle de planification et l'audit HCL Commerce. Si vous avez mis à jour le nombre d'unités d'exécution autorisées pour les programmes d'écoute HCL Commerce IBM MQ, la taille du pool d'unités d'exécution réservées HCL Commerce et la taille du pool de connexions de base de données doivent être mises à jour en conséquence.
- Le gestionnaire de clés HCL Commerce utilise une connexion
- D'autres unités d'exécution démarrées par votre code personnalisé utilisent des connexions de base de données
- Ouvrez la console d'administration de WebSphere Application Server.
- Accédez à .
Où db_type est db2 ou Oracle.
- Augmentez la taille du pool de connexions de base de données en fonction du nombre de connexions que vous avez ajoutées à l'ensemble des options ci-dessus combinées.
- Sauvegardez vos modifications.
Groupes d'unités d'exécution du planificateur
<applicationType>. Il existe deux attributs :- applicationName
- L'identificateur de ce pool d'unités d'exécution. Lorsque vous planifiez un travail dans la console d'administration, cet identificateur s'affiche lorsque vous choisissez le type d'application.
- maxNumofThreads
- Nombre maximum d'unités d'exécution autorisées pour ce pool d'unités d'exécution.
Cache d'instructions préparées
Selon la documentation WebSphere Application Server, on peut obtenir une amélioration des performances de 10% à 20% en utilisant ce paramètre. Pour déterminer la valeur à utiliser pour ce paramètre, on utilise fréquemment Tivoli Performance Viewer pour observer le comportement et réduire les éliminations en cache. Cependant, pour HCL Commerce, il ne s'agit pas d'un mécanisme efficace en raison du nombre élevé d'instructions SQL exécutées en interne.
Le seul moyen fiable de déterminer la valeur optimale pour la cache d'instructions préparées est de mesurer les performances réelles dans un environnement contrôlé avec des charges réitérables. La valeur initiale recommandée est de 150 et cette valeur doit être augmentée par intervalles de 50, jusqu'à ce que l'on n'observe plus aucune amélioration des performances.
- Sélectionnez Ressources.
- Cliquez sur Fournisseurs JDBC.
- Sélectionnez votre_source_données_Commerce.
- Définissez la valeur de la Cache d'instructions préparées.