Optimisation des services de canaux de transport
Les services de canaux de transport gèrent les connexions client et le traitement des E-S des demandes JMS et HTTP. Ces nouveaux services d'E-S reposent sur des fonctions d'E-S non bloquantes disponibles dans Java™. Ces services offrent une base fortement évolutive pour le traitement des demandes de WebSphere Application Server. L'architecture reposant sur les fonctions d'E-S non bloquantes Java est limitée en termes de performances, d'évolutivité et de convivialité. Ainsi, l'intégration de véritables E-S asynchrones est mise en place. Cette implémentation améliore la convivialité, réduit la complexité du traitement des E-S et facilite le réglage des performances.
Pourquoi et quand exécuter cette tâche
- Evolutivité : permet au produit de gérer plusieurs demandes simultanées
- Traitement asynchrone des demandes : offre un mappage "plusieurs à un" des demandes client vers les unités d'exécution du conteneur Web
- Partage et ségrégation des ressources : permet le partage des pools d'unités d'exécution entre le conteneur Web et un service de messagerie
- Meilleure convivialité
- Incorporation de fonctions autonomes d'optimisation et de configuration
La modification des valeurs par défaut des paramètres d'un ou plusieurs canaux de transport associés à une chaîne de transport peut améliorer les performances de cette dernière.

Procédure
- Modifiez les paramètres des canaux de transport TCP. Dans la console d'administration, cliquez sur Serveurs > Types de serveurs > Serveurs d'applications WebSphere > nom_serveur >
Ports. Cliquez ensuite sur Afficher les transports
associés pour choisir le port approprié.
- Sélectionnez la chaîne de transport dont vous modifiez les propriétés.
- Cliquez sur le canal de transport TCP défini pour cette chaîne.
- Decrease the value specified for the Maximum open connections property. Ce paramètre contrôle le nombre maximal de connexions disponibles qu'un serveur peut utiliser. Si vous conservez sa valeur par défaut (20000), certains sites Web risquent de se bloquer en cas d'incident. En effet, le produit continue d'accepter des connexions, ce qui augmente le nombre de commandes relatives à la connexion et aux tâches associées restant en attente. La valeur par défaut doit être réduite de manière significative (par exemple 500), puis des réglages et des tests supplémentaires doivent être effectués pour déterminer la valeur optimale à spécifier pour le déploiement d'une application ou d'un site Web.
- Si des connexions client sont fermées sans que des données soient
enregistrées sur le client, modifiez la valeur spécifiée pour le paramètre Délai
d'inactivité. Ce paramètre contrôle le nombre maximal de connexions
disponibles pour un serveur. Après avoir reçu une nouvelle connexion, le canal
de transport TCP attend de recevoir une quantité suffisante de données pour répartir
la connexion entre les canaux spécifiques aux protocoles se trouvant au dessus
du canal de transport TCP. Si la quantité de données reçue au cours de la période
spécifiée par le paramètre Délai d'inactivité n'est pas suffisante, le canal de transport
TCP ferme la connexion.
La valeur par défaut de ce paramètre est de 60 secondes. Elle est adaptée à la plupart des applications. Augmentez la valeur spécifiée pour ce paramètre si votre charge de travail donne lieu à nombreuses connexions et que ces connexions ne peuvent pas toutes être traitées en 60 secondes.
Affectez un pool d'unités d'exécution à un port HTTP spécifique. Chaque canal de transport TCP est affecté à un pool d'unités d'exécution particulier. Les pools d'unités d'exécution peuvent être partagés entre plusieurs canaux de transport TCP, mais également avec d'autres composants. Avec le paramètre par défaut d'un canal de transport TCP, l'intégralité du trafic sur HTTP est affectée au pool d'unités d'exécution WebContainer et le reste du trafic est affecté au pool d'exécution Default. Utilisez le menu de liste Pool d'unités d'exécution pour affecter un pool d'unités d'exécution donné à chaque canal de transport TCP. Avec la valeur par défaut de ce paramètre, l'intégralité du trafic sur HTTP est affecté au pool d'unités d'exécution WebContainer et le reste du trafic est affecté au pool d'unités d'exécution Default. Les information relatives à la collection de pools d'unités d'exécution expliquent comment créer des pools d'unités d'exécution supplémentaires.
Optimisez la taille de vos pools d'unités d'exécution. Par défaut, un pool d'unités d'exécution peut comporter entre 10 et 50 unités d'exécution. Pour modifier ces valeurs, cliquez sur Pools d'unités d'exécution >nom_pool_unités_exécution et modifiez les valeurs spécifiées pour les paramètres Taille minimale et Taille maximale de ce pool d'unités d'exécution.
D'une manière générale, les applications typiques ne nécessitent pas plus de 10 unités d'exécution par processeur. Toutefois, dans le cas d'une condition d'arrêt serveur, par exemple, lorsqu'une demande du système dorsal est particulièrement lente, une unité d'exécution du serveur attend la fin du traitement de la demande du système dorsal. Dans ce cas, le processeur est généralement peu utilisé et l'augmentation de la charge de travail n'augmente pas sa capacité de traitement. Les clichés de mémoire des unités d'exécution présentent presque toutes les unités d'exécution contenues dans un appel destiné à la ressource du système dorsal. Si c'est le cas et que le système dorsal soit optimisé correctement, essayez d'augmenter le nombre minimal d'unités d'exécution contenues dans le pool jusqu'à ce que vous constatiez des améliorations en terme de capacité de traitement et que les clichés de mémoire des unités d'exécution présentent des unités d'exécution dans d'autres zones de l'environnement d'exécution que l'appel du système dorsal.
La valeur du paramètre Evolutif ne doit pas être modifiée, sauf si votre système dorsal a tendance à se bloquer pendant de longues périodes. Cette condition peut indiquer que toutes les unités d'exécution de votre environnement d'exécution sont bloquées dans l'attente du système dorsal au lieu de traiter d'autres tâches qui n'impliquent pas le système dorsal bloqué.
- Modifiez les paramètres des canaux de transport HTTP. Dans la console d'administration, cliquez sur Serveurs > Types de serveurs > Serveurs d'applications WebSphere > nom_serveur >
Ports. Cliquez ensuite sur Afficher les transports
associés pour choisir le port approprié.
- Sélectionnez la chaîne de transport dont vous modifiez les propriétés.
- Cliquez sur le canal de transport HTTP défini pour cette chaîne.
- Optimisez le signal de présence HTTP.
The Use persistent (keep-alive) connections setting controls whether connections remain open between requests. Lorsque les connexions restent ouvertes, vous pouvez réduire les coûts de configuration et de suppression des sockets si votre charge de travail comporte des clients qui envoient plusieurs demandes. La valeur par défaut, true, est généralement le paramétrage optimal.
If your clients only send single requests over substantially long periods of time, it is probably better to disable this option and close the connections immediately rather than to have the HTTP transport channel setup the timeouts to close the connection at some later time.
- Modifiez la valeur spécifiée pour le paramètre Nombre maximal de
demandes persistantes pour augmenter le nombre de demandes pouvant passer par une
connexion avant la fermeture de cette dernière.
Lorsque l'option Utiliser la connexion persistante est activée, le paramètre Nombre maximal de demandes persistantes contrôle le nombre de demandes pouvant passer par une connexion avant sa fermeture. La valeur par défaut est 100. Cette valeur doit être définie de sorte que la plupart ou l'intégralité des clients aient toujours une connexion ouverte lorsqu'ils génèrent plusieurs demandes au cours d'une même session. Le choix d'une valeur correcte pour ce paramètre permet d'éliminer les configurations et suppressions inutiles de sockets.
Pour les scénarios de test dans lesquels le client n'est jamais fermé, la valeur -1 désactive le traitement qui limite le nombre de demandes sur une seule connexion. Le délai d'attente persistant arrête certains sockets inactifs et protège votre serveur contre un nombre insuffisant de sockets ouverts.
- Modifiez la valeur spécifiée pour le paramètre Délai persistant pour augmenter la durée pendant laquelle une connexion est maintenue ouverte avant d'être fermée pour inactivité. Le paramètre Délai persistant contrôle la durée pendant laquelle une connexion est maintenue ouverte avant d'être fermée car elle ne fait l'objet d'aucune activité. La valeur par défaut est de 30 secondes. Vous devez affecter à ce paramètre une valeur garantissant un nombre suffisant de connexions ouvertes de sorte que la plupart des clients puissent obtenir une connexion lorsqu'ils doivent générer une demande.
- Si les clients rencontrent des difficultés à générer une demande car l'envoi de leurs données dure plus de 60 secondes, modifiez la valeur définie pour le paramètre Délai de lecture. Certains clients font une pause de plus de 60 secondes lorsqu'ils envoient des données dans le cadre d'une demande. Pour que leurs demandes aboutissent, remplacez la valeur définie pour ce paramètre par une durée en secondes suffisante au transfert de leurs données. Lorsque vous modifiez cette valeur, vérifiez que le serveur reste protégé contre l'envoi de données incomplètes et l'utilisation de ressources (sockets) pendant une durée excessive.
- Si la réception des données qui leur sont envoyées demande plus de 60 secondes à certains de vos clients, modifiez la valeur définie pour le paramètre Délai d'écriture. Certains clients sont lents et ont besoin de plus de 60 secondes pour récupérer les données qui leur sont envoyées. Remplacez la valeur définie pour ce paramètre par une durée en secondes suffisante à la récupération de leurs données. Lorsque vous modifiez cette valeur, assurez-vous que le serveur reste protégé contre les clients malveillants.
- Modifier les paramètres des canaux de transport du conteneur Web. Dans la console d'administration, cliquez sur Serveurs > Types de serveurs > Serveurs d'applications WebSphere > nom_serveur >
Ports. Cliquez ensuite sur Afficher les transports
associés pour choisir le port approprié.
- Sélectionnez la chaîne de transport dont les propriétés doivent être changées.
- Cliquez sur le canal de transport de conteneur Web défini pour cette chaîne.
- Si plusieurs écritures sont requises pour gérer les réponses au
client, remplacez la valeur spécifiée pour le paramètre Taille de la mémoire tampon
d'écriture par une valeur plus appropriée pour vos clients. Le paramètre Taille de la mémoire tampon d'écriture contrôle la quantité maximale de données par unité
d'exécution que le conteneur Web place en mémoire tampon avant d'envoyer la demande
pour traitement. La valeur par défaut (32768
octets) suffit pour la plupart des applications. Si la taille d'une réponse est supérieure à celle de la mémoire tampon d'écriture, la
réponse est découpée et fait l'objet de plusieurs écritures TCP.
Si vous devez modifier la valeur définie pour ce paramètre, vérifiez que la nouvelle valeur permet d'écrire la plupart des demandes lors d'une même opération. Pour déterminer la valeur appropriée pour ce paramètre, vérifiez la taille des pages renvoyées et ajoutez quelques octets supplémentaires afin de prendre en compte les en-têtes HTTP.
- Modifiez les paramètres de la mémoire tampon délimitée.
Même si les paramètres par défaut de la mémoire tampon délimitée conviennent parfaitement à la plupart des environnements, vous souhaitez peut-être modifier ces valeurs dans certains cas et pour certains systèmes d'exploitation afin d'améliorer les performances. Le changement des paramètres de mémoire tampon délimitée peut ralentir les performances. Ainsi, assurez-vous de modifier les autres éléments concernés, comme le conteneur Web et les pools d'unités d'exécution ORB, avant de changer les paramètres de mémoire tampon délimitée.
Pour changer les paramètres de mémoire tampon délimitée :
- Dans la console d'administration, cliquez sur Serveurs > Types de serveurs > Serveurs d'applications WebSphere > nom_serveur.
- Dans la section Infrastructure du serveur, cliquez sur Gestion des processus et Java > Définition des processus > Machine virtuelle Java.
- Cliquez sur Propriétés personnalisées.
- Entrez l'une des propriétés personnalisées suivantes
dans la zone Nom et une valeur adéquate dans la zone Valeur, puis cliquez sur
Appliquer pour sauvegarder la propriété personnalisée
et son paramètre.
- com.ibm.ws.util.BoundedBuffer.spins_take=valeur
Définit le nombre de fois qu'une unité d'exécution de conteneur Web est autorisée à essayer de récupérer une requête dans la mémoire tampon avant que l'unité d'exécution ne soit interrompue et ajoutée à la file d'attente. Ce paramètre permet de remplacer les tentatives de récupération échouées par une suspension de l'unité d'exécution et sa réactivation en réponse à une opération d'insertion.
Informations Valeur Valeur par défaut Nombre de processeurs disponibles pour le système d'exploitation moins 1. Valeur recommandée : Utilisez une valeur entière non négative. Dans la pratique, les meilleures performances sont obtenues avec un nombre entier compris entre 2 et 8. Syntaxe : com.ibm.ws.util.BoundedBuffer.spins_take=6. Six tentatives sont effectuées avant que l'unité d'exécution soit interrompue. - com.ibm.ws.util.BoundedBuffer.yield_take=true ou false
Indique qu'une unité d'exécution renvoie le processeur vers d'autres unités d'exécution après un nombre défini de tentatives de réception d'une demande provenant de la mémoire tampon. Généralement, un nombre inférieur de tentatives est préférable.
Informations Valeur Valeur par défaut false Valeur recommandée : L'effet du renvoi est spécifique à l'implémentation de chacune des plateformes. Syntaxe : com.ibm.ws.util.BoundedBuffer.spins_take=valeur booléenne - com.ibm.ws.util.BoundedBuffer.spins_put=valeur
Indique le nombre de fois qu'une unité d'exécution InboundReader tente d'insérer une requête dans la mémoire tampon avant que l'unité d'exécution ne soit interrompue et ajoutée à la file d'attente. Cette valeur permet de remplacer les tentatives répétées d'insertion dans la mémoire tampon qui échouent par une suspension de l'unité d'exécution et sa réactivation en réponse à une opération d'insertion.
Informations Valeur Valeur par défaut Valeur de com.ibm.ws.util.BoundedBuffer.spins_take divisée par 4. Valeur recommandée : Utilisez une valeur entière non négative. En pratique, les meilleures performances sont obtenues avec un nombre entier compris entre 2 et 8. Syntaxe : com.ibm.ws.util.BoundedBuffer.spins_put=6. Six tentatives sont effectuées avant que l'unité d'exécution soit interrompue. - com.ibm.ws.util.BoundedBuffer.yield_put=true ou false
Indique qu'une unité d'exécution renvoie le processeur vers d'autres unités d'exécution après un nombre défini de tentatives d'insertion d'une requête dans la mémoire tampon. Généralement, un nombre inférieur de tentatives est préférable.
Informations Valeur Valeur par défaut false Valeur recommandée : L'effet du renvoi est spécifique à l'implémentation de chacune des plateformes. Syntaxe : com.ibm.ws.util.BoundedBuffer.yield_put=valeur booléenne - com.ibm.ws.util.BoundedBuffer.wait=nombre de millisecondes
Définit la durée maximale en millisecondes à laquelle une requête peut être différée inutilement si la mémoire tampon est pleine ou si la mémoire tampon est vide.
Informations Valeur Valeur par défaut 10000 millisecondes Valeur recommandée : Une valeur égale à 10000 millisecondes fonctionne généralement correctement. Dans de rares cas lorsque la mémoire tampon est pleine ou vide, une valeur inférieure garantit un traitement à bon escient des requêtes, mais l'utilisation d'une valeur plus petite a généralement une répercussion sur les performances. Syntaxe : com.ibm.ws.util.BoundedBuffer.wait=8000. Une requête peut être différée inutilement de 8000 millisecondes.
- com.ibm.ws.util.BoundedBuffer.spins_take=valeur
- Cliquez sur Valider, puis sur Sauvegarde pour sauvegarder ces modifications.


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tprf_tunechain
Nom du fichier : tprf_tunechain.html