HCL Commerce Version 9.1.10.0 or later

Réglage automatique de l'encombrement de la mémoire dans les caches locaux

Les caches locaux résident dans la machine virtuelle Java (JVM) du serveur d'applications local. Chaque cache local contient un certain nombre d'entrées de cache et chaque entrée de cache dispose d'un ID de cache, d'une valeur de cache et d'une liste d'ID de dépendance. Il est important de contrôler l'encombrement de la mémoire des caches locaux, car des caches plus volumineux peuvent améliorer les performances, mais un cache trop volumineux peut entraîner des conditions de mémoire faible ou insuffisante.

Chaque cache local dispose d'un nombre maximal d'entrées de cache configuré qu'il peut contenir (memorySizeInEntries) et d'un encombrement de mémoire maximal facultatif (memorySizeInMB). Par exemple, dans un fichier server.xml de configuration WebSphere Application Server V8.5.5 Liberty, la ligne suivante configure l'encombrement de la mémoire du HCL Cache avec le nom JNDI services/cache/SearchQueryDistributedMapCache :
<distributedMap id="services/cache/SearchQueryDistributedMapCache" cacheProviderName="hcl-cache" memorySizeInEntries="30012" memorySizeInMB="400" lowThreshold="95" highThreshold="98"/>

Par défaut, le HCL Cache augmente ou réduit automatiquement son encombrement de mémoire en fonction de la quantité de segments de mémoire JVM disponibles. Lorsque l'utilisation du segment de mémoire JVM est inférieure à 65 %, les caches locaux HCL augmentent leur taille maximale jusqu'à 400 % de leur taille configurée, et inversement, lorsque le segment de mémoire JVM est utilisé à plus de 75 %, ils réduisent leur taille maximale jusqu'à 10 % de leur taille configurée. De cette manière, les caches locaux HCL tirent parti de la mémoire libre disponible, tout en évitant les conditions de mémoire faible ou insuffisante.

Capture d'écran à partir du HCL Cache tableau de bord - Détails du cache local. Pour plus de détails, voir Surveillance.

Configurations d'encombrement automatique de la mémoire

La fonction d'encombrement automatique de la mémoire fournit des configurations qui peuvent être utilisées pour des scénarios d'identification et de résolution des incidents ou de réglage avancés. Pour plus d'informations sur la mise à jour de la configuration HCL Cache, voir Configuration du cache.

Configuration des seuils de mémoire utilisés
Par défaut, les caches peuvent augmenter leur taille maximale lorsque la mémoire JVM utilisée est inférieure à 65 % de la taille de segment de mémoire maximale et diminuer leur taille maximale lorsque la mémoire JVM utilisée est supérieure à 75 % de la taille de segment de mémoire maximale.
globalLocalCache:
  localCacheTuning:
    tightMemoryPercentUsedThreshold: 75
    normalMemoryPercentUsedThreshold: 65
Configuration des facteurs d'échelle minimum et maximum
Par défaut, les caches n'augmenteront pas leur taille maximale à plus de 400 % de leur taille maximale configurée et ne diminueront pas leur taille maximale à moins de 10 % de leur taille maximale configurée.
globalLocalCache:
  localCacheTuning:
    maxScaleFactor: 400
    minScaleFactor: 10
Désactivation du réglage automatique de l'encombrement de la mémoire
Par défaut, le réglage automatique de l'encombrement de la mémoire est activé. Vous pouvez le désactiver en spécifiant false.
globalLocalCache:
  localCacheTuning:
    enabled: true
Génération de rapports sur les valeurs de cache non paramétrables
Le cache local HCL peut calculer l'encombrement de la mémoire des entrées de cache lorsqu'elles contiennent des valeurs composées d'objets Java standard. Lorsque d'autres objets sont rencontrés, l'encombrement de la mémoire calculé peut être inexact. Indiquez "reportUnsizeable : true" afin de consigner un message d'information lorsque HCL Cache n'est pas en mesure de calculer un encombrement de mémoire d'objet précis. La valeur par défaut de ce paramètre de configuration est false.
globalLocalCache:
  reportUnsizeable: false