Paramètres du pool de sessions

Cette page permet de configurer les paramètres de pools de sessions.

Cette page de la console d'administration est commune aux fabriques de connexions unifiées JMS, aux fabriques de connexions de file d'attente et aux fabriques de connexions de rubrique. Pour l'afficher, sélectionnez une instance du type de ressource et cliquez ensuite sur Pools de sessions. Par exemple, cliquez sur Ressources > JMS > Fabriques de connexions de file d'attente > Fabrique_connexions_file d'attente > [Propriétés supplémentaires] Pool de sessions.

Délai d'expiration de connexion

Spécifie le délai, en secondes, au terme duquel une demande de connexion expire et une exception ConnectionWaitTimeoutException est émise.

L'attente peut être nécessaire lorsque le nombre maximal de connexions à un pool particulier (paramètre Nombre maximal de connexions) est atteint. Par exemple, si le paramètre Délai d'expiration de connexion est réglé sur 300 et que le nombre maximal de connexions est atteint, le gestionnaire du pool attend 300 secondes qu'une connexion physique devienne disponible. Si, passé ce délai, aucune connexion physique n'est disponible, le gestionnaire du pool lance une exception ConnectionWaitTimeoutException. Il n'y a généralement pas lieu de retenter la méthode getConnection(), car si une attente plus longue est nécessaire pour l'obtention d'une connexion, vous devez augmenter la valeur du paramètre Délai d'expiration de connexion. Par conséquent, si cette exception est interceptée par l'application, l'administrateur doit étudier l'usage attendu de l'application et ajuster en conséquence les paramètres du pool de connexions et de la base de données.

Si le délai d'expiration de connexion est réglé sur 0, le gestionnaire du pool attend aussi longtemps que nécessaire qu'une connexion soit allouée (cela se produit lorsque le nombre de connexions chute en-deçà de la valeur du paramètre Nombre maximal de connexions).

Si le paramètre Nombre maximal de connexions est réglé sur 0, ce qui autorise un nombre illimité de connexions physiques, la valeur du délai d'expiration de connexion est ignorée.

Type de données Entier
Unité Secondes
Valeur par défaut 180
Intervalle 0 à max (nombre entier)
Nombre maximal de connexions

Spécifie le nombre maximal de connexions physiques qui peuvent être créées dans le pool.

Il s'agit de connexions physiques à une ressource dorsale. Une fois ce nombre atteint, aucune nouvelle connexion physique n'est créée et le demandeur doit attendre qu'une connexion physique en cours d'utilisation soit renvoyée au pool ou qu'une exception ConnectionWaitTimeoutException soit lancée.

Par exemple, si le paramètre Nombre maximal de connexions a la valeur 5 et qu'il y a cinq connexions physiques en cours d'utilisation, le gestionnaire de pool attend qu'une connexion physique se libère pendant la durée spécifiée par le paramètre Délai d'expiration de connexion.

Si le paramètre Nombre maximal de connexions est réglé sur 0, la valeur du délai d'expiration de connexion est ignorée.

De meilleurs résultats s'obtiennent lorsque la valeur du pool de connexions est inférieure au nombre maximal de connexions dans le conteneur Web. Des valeurs basses (entre 10 et 30 connexions) permettent de meilleures performances que des valeurs hautes (100, par exemple).

Si des clones sont utilisés, il existe un pool de données par clone. Il est important de connaître le nombre de pools de données lors de la configuration du nombre maximal de connexions à la base de données.

[AIX Solaris HP-UX Linux Windows] [iSeries] Vous pouvez utiliser Tivoli Performance Viewer pour déterminer le nombre maximal de connexions dans un pool. Si le nombre d'unités simultanément en attente est supérieur à 0, mais que la charge de l'unité centrale n'est pas proche de 100 %, vous pouvez envisager d'augmenter la taille du pool de connexions. Si la valeur Pourcentage utilisé est constamment faible, pour une charge de travail normale, diminuez le nombre de connexions du pool.

[AIX Solaris HP-UX Linux Windows] [iSeries]
Type de données Entier
Valeur par défaut 10
Intervalle 0 à max (nombre entier)
Nombre minimal de connexions

Spécifie le nombre minimal de connexions physiques à maintenir.

Tant que ce nombre n'est pas atteint, l'unité d'exécution de maintenance du pool n'élimine pas de connexion physique. Cependant, aucune tentative n'est faite pour que le nombre de connexions atteigne cette valeur plancher. Si vous spécifiez une valeur pour le paramètre Délai dépassé, le nombre minimal de connexions n'est pas maintenu. Toutes les connexions périmées du fait de leur âge sont supprimées.

Par exemple, si le paramètre Nombre minimal de connexions est réglé sur 3 et qu'une seule connexion physique est créée, cette connexion n'est pas supprimée suite au dépassement du Délai d'inutilisation. De même, l'unité d'exécution ne crée pas automatiquement deux connexions physiques supplémentaires pour atteindre la valeur du paramètre Nombre minimal de connexions.

Type de données Entier
Valeur par défaut 1
Intervalle 0 à max (nombre entier)
Intervalle de ramassage

Indique l'intervalle, en secondes, entre chaque lancement de l'unité d'exécution de maintenance des pools.

Par exemple, si l'intervalle de ramassage est réglé sur 60, l'unité d'exécution de maintenance du pool s'exécutera toutes les minutes. L'intervalle de ramassage a un impact sur l'exactitude des paramètres Délai d'inutilisation et Délai dépassé. Plus l'intervalle est court, plus ces paramètres peuvent être exacts. Si l'unité d'exécution de maintenance du pool est activée, réglez le délai de ramassage sur une valeur inférieure à celles des paramètres Délai d'inutilisation et Délai dépassé. Lorsque l'unité d'exécution de maintenance du pool s'exécute, elle élimine les connexions qui sont restées inutilisées plus longtemps que la valeur fixée par le paramètre Délai d'inutilisation, jusqu'à ce que le nombre de connexions spécifié par le paramètre Nombre minimal de connexions soit atteint. L'unité d'exécution de maintenant élimine également les connexions qui sont restées actives plus longtemps que la valeur spécifiée par le paramètre Délai dépassé.

L'intervalle de ramassage a également un impact sur les performances. Plus il est court, plus l'unité d'exécution de maintenance du pool est sollicitée, ce qui a pour conséquence de dégrader les performances.

Pour désactiver l'unité d'exécution de maintenance du pool, associez le délai de ramassage à la valeur 0 ou mettez à zéro les paramètres Délai d'inutilisation et Délai dépassé. La méthode recommandée pour désactiver l'unité d'exécution de maintenance du pool est d'associer le délai de ramassage à la valeur 0, auquel cas les paramètres Délai d'inutilisation et Délai dépassé sont ignorés. Cependant, si le délai d'inutilisation et le délai dépassé ont pour valeur 0, l'unité d'exécution de maintenance du pool s'exécute, mais seules les connexions physiques qui sont en dépassement de délai en raison d'un délai d'attente non nul sont éliminées.

Type de données Entier
Unité Secondes
Valeur par défaut 180
Intervalle 0 à max (nombre entier)
Délai d'inutilisation

Spécifie le délai, en secondes, au terme duquel une connexion inutilisée ou au repos est éliminée.

Pour des performances optimales, réglez le délai d'inutilisation sur une valeur plus grande que celle du délai de ramassage. Les connexions physiques inutilisées sont éliminées uniquement si elles sont en nombre supérieur à la valeur du paramètre Nombre minimal de connexions. Par exemple, si la valeur du délai d'inutilisation est 120 secondes et que l'unité d'exécution de maintenance du pool est activée (délai de ramassage différent de 0), toute connexion physique qui reste inutilisée plus de deux minutes est éliminée. Sachez que l'exactitude de ce délai ainsi que les performances sont affectées par la valeur de l'intervalle de ramassage. Pour plus d'informations, reportez-vous à la section Intervalle de ramassage.

Type de données Entier
Unité Secondes
Valeur par défaut 1800
Intervalle 0 à max (nombre entier)
Délai dépassé

Spécifie le délai, en secondes, au terme duquel une connexion physique est éliminée.

Si le paramètre Délai dépassé est réglé sur 0, les connexions physiques actives sont conservées dans le pool indéfiniment. Pour des performances optimales, réglez le délai dépassé sur une valeur plus grande que celle de l'intervalle de ramassage. Par exemple, si la valeur du délai dépassé est de 1 200 secondes (20 minutes) et que le délai de ramassage est différent de 0, toute connexion physique qui existe pendant 1 200 secondes (20 minutes) est éliminée du pool. Sachez que l'exactitude de ce délai ainsi que les performances sont affectées par la valeur de l'intervalle de ramassage. Pour plus d'informations, reportez-vous à la section Intervalle de ramassage.

Type de données Entier
Unité Secondes
Valeur par défaut 0
Intervalle 0 à max (nombre entier)
Règle de purge

Spécifie comment purger les connexions périmées (stale) ou présentant une erreur irrémédiable.

Les valeurs possibles sont Totalité du pool et Connexion défaillante uniquement. Les sources de données JCA (Java EE Connector Architecture) peuvent prendre ces deux valeurs. Les sources de données WebSphere version 4.0 sont systématiquement configurées avec la règle de purge Totalité du pool.

Type de données Chaîne
Valeur par défaut FailingConnectionOnly
Intervalle
Totalité du pool
Toutes les connexions figurant dans le pool sont marquées comme périmées. Toute connexion qui n'est pas en cours d'utilisation est immédiatement fermée. Une connexion en cours d'utilisation est fermée et une exception StaleConnectionException est lancée lors de l'opération suivante sur cette connexion. Les demandes getConnection émises subséquemment par l'application conduisent à l'ouverture de nouvelles connexions à la base de données. Lorsque cette règle de purge est utilisée, il existe une possibilité que certaines connexions du pool soient fermées inutilement parce qu'elles ne sont pas périmées. Cependant, la probabilité d'une telle situation reste très faible. Dans la plupart des cas, la règle de purge Totalité du pool est le meilleur choix.
FailingConnectionOnly
Seule la connexion à l'origine de l'erreur StaleConnectionException est fermée. Bien que ce choix permette d'éviter que des connexions valides ne soient fermées inutilement, il a pour inconvénient de rendre la reprise plus compliquée du point de vue de l'application. Comme la connexion défaillante est la seule a être fermée, il existe une très forte probabilité que la demande getConnection suivante de l'application renvoie une connexion du pool qui est également périmée, ce qui conduit à la génération d'autres exceptions de connexion obsolète.



Les liens marqués (en ligne) requièrent un accès à Internet.

Concepts associés
Tâches associées
Référence associée


Nom du fichier : umj_sesspoolset.html