Service du gestionnaire de cache
Ce service du portail est responsable de la gestion des différents caches utilisés dans HCL Portal.
Dans WebSphere® Integrated Solutions Console, le service du gestionnaire de cache du portail est répertorié en tant que WP CacheManagerService.
Le portail fournit deux types de mémoire cache différents : partagée et non partagée :
- Shared caches
- Les mémoires caches partagées reconnaissent les clusters. La suppression d'un élément du cache sur un noeud de cluster résulte en la suppression de ce même élément des instances de cache correspondantes sur tous les autres noeuds. Cela garantit que les données sujettes à fréquentes modifications demeurent cohérentes dans l'installation complète du cluster.
- Non-shared caches
- Les mémoires caches non partagées sont utilisées pour les données pour lesquelles la reconnaissance du cluster n'est pas un problème. Ce type de cache évite les communications réseau inutiles.
Lorsque vous modifiez ces propriétés, planifiez l'opération à l'avance et procédez avec prudence. Il existe deux niveaux de propriétés :
- cacheglobal properties
- Elles spécifient la définition par défaut utilisée pour tous les caches, à moins qu'elle ne soit explicitement remplacée par la propriété d'instance de cache correspondante.
- cacheinstance.cacheidentifier properties
- Ils sont utilisés pour remplacer une définition globale, par exemple la taille de la mémoire cache, pour l'instance spécifique d'une mémoire cache.
Le changement de tout ou partie de ces propriétés peut améliorer ou réduire considérablement les performances du portail. De ce fait, il est recommandé de ne pas modifier la définition partagée d'un cache à moins que les conséquences soient parfaitement comprises et admises. Si vous souhaitez déterminer les valeurs optimales des propriétés size, lifetime, admit-threshold et replacement, contrôlez les propriétés de la mémoire cache au cours de la phase de transfert de l'installation du portail. Utilisez Tivoli Performance Viewer, qui est le client PMI de WebSphere® Application Server pour trouver les paramètres optimaux pour votre environnement.
La liste suivante contient les propriétés du service gestionnaire de cache valables tant pour les caches partagés que pour les caches non partagés :
- cacheglobal.enabled = [ true | false ]
- cacheinstance.cacheidentifier.enabled = [ true | false ]
- Cette propriété permet de contrôler si la mise en cache est activée ou non. Utilisez-la avec précaution.
- cacheglobal.size = number
- cacheinstance.cacheidentifier.size = number
- Utilisez cette propriété pour définir le nombre d'éléments pouvant être placés dans la mémoire cache avant qu'une éviction n'ait lieu. Le processus d'éviction utilise un algorithme d'ancienneté.
- cacheglobal.shared = [ true | false ]
- cacheinstance.cacheidentifier.shared = [ true | false ]
- Utilisez cette propriété pour définir si une mémoire cache reconnaissant un cluster doit être utilisée ou non.
- cacheglobal.lifetime = number
- cacheinstance.cacheidentifier.lifetime = number
- Utilisez cette propriété pour spécifier la durée de vie, en secondes, des éléments placés en cache. Une fois la durée de vie spécifiée atteinte, les éléments ne sont pas supprimés de la mémoire cache immédiatement. Ils sont évincés lorsque l'élément suivant est inséré. La spécification de la valeur -1 désigne une durée de vie infinie. Dans ce cas, aucun délai particulier n'étant imparti, l'entrée n'est jamais évincée du cache.
- randomizePercent = number
- cacheinstance.cacheidentifier.randomizePercent= number
-
Utilisez cette propriété pour randomiser dans une certaine mesure la durée de vie des entrées du cache. Si toutes les entrées dans un cache ont la même durée de vie, cela peut imposer une charge élevée à la base de données pendant le rechargement des entrées, dans la mesure où de grandes quantités d'entrées sont évincées en même temps.
Spécifiez la valeur de cette propriété sous forme de valeur numérique donnée en pourcentage. Par exemple, la valeur 25 signifie que toutes les durées de vie des entrées de la mémoire cache sont de 25 % supérieures ou inférieures à la durée de vie par défaut (donnée par le paramètre de durée de vie). Aucune entrée de la mémoire cache n'aura de durée de vie inférieure à 50 % de la valeur par défaut, quelle que soit la valeur que vous spécifiez pour cette propriété. Par défaut, aucune valeur n'est spécifiée. Dans ce cas, les durées de vie ne sont pas randomisées, et toutes les entrées de la mémoire cache ont la durée de vie par défaut.
Si vous avez affecté un caractère infini à la propriété de durée de vie par défaut en indiquant la valeur -1, la configuration de la randomisation de la durée de vie n'est pas appliquée, même si vous spécifiez une valeur pour la propriété
randomizePercent.Vous pouvez voir la durée de vie randomisée réelle d'une entrée de la mémoire cache en activant la fonction de trace pour la classe
com.ibm.wps.services.cache.AbstractCache.
Vous pouvez définir les propriétés supplémentaires suivantes pour les mémoires caches non partagées. (Les définir pour des mémoires caches partagées est sans incidence, ils seront ignorés.)
- cacheglobal.replacement= [aggressive | moderate | conservative]
- cacheinstance.cacheidentifier.replacement= [aggressive | moderate | conservative]
- Contrôle le comportement de l'algorithme d'éviction.
- cacheglobal.admin-threshold = number
- cacheinstance.cacheidentifier.admin-threshold = number
- Seuil d'admission. Cette propriété permet de maintenir les entrées non souhaitées hors de la mémoire cache. Une entrée est stockée uniquement si elle est placée dans le cache aussi souvent que spécifié par la valeur de cette propriété. Si vous souhaitez que chaque entrée soit mise en cache, définissez cette propriété sur zéro (0).
Pour des informations sur les caches disponibles, reportez-vous au Guide d'optimisation des performances d'HCL Portal version 8.5.