Configuración de la memoria caché de datos HCL Commerce

La memoria caché de datos HCL Commerce está habilitada de forma predeterminada. Puede configurar la memoria caché utilizando los métodos de almacenamiento en memoria caché de mandatos o de configuración de objetos DistributedMap. Para obtener el mejor rendimiento, utilice la configuración de memoria caché de objetos DistributedMap. La configuración de memoria caché del mandato se proporciona únicamente por motivos de compatibilidad con versiones anteriores.

Si utiliza almacenamiento en memoria caché de mandatos, puede elegir qué datos desea almacenar en memoria caché. Puede ajustar la configuración al cambiar los atributos del elemento <cache-entry>, tales como <priority>, <timeout> y <inactivity>. Para obtener más información, consulte cachespec.xml.

La memoria caché de datos de HCL Commerce puede configurarse para que utilice las memorias caché del objeto DistributedMap, lo que define las memorias caché con nombres especiales en el archivo cacheinstances.properties.

Algunas memorias caché de objetos DistributedMap se definen automáticamente durante la instalación. Para ver estas memorias caché de objetos, abra WebSphere Application Server Integrated Solutions Console y en el menú de la izquierda, pulse Recursos > Instancias de memoria caché > Instancias de memoria caché de objetos.

Procedimiento

  • Almacenamiento en memoria caché de mandatos
    1. Abra el archivo de configuración de memoria caché de ejemplo cachespec.xml en el directorio siguiente:
      • WCDE_installdir\samples\dynacache\
    2. Copie los elementos <cache-entry> del archivo de configuración de la memoria caché de ejemplo al archivo cachespec.xml que se encuentra en el directorio siguiente:
      • workspace_dir\Stores\WebContent\WEB-INF\
    Si ya ha almacenado en la memoria caché las etiquetas de entrada que están definidos en el archivo cachespec.xml de Tiendas, es posible que necesite medir el rendimiento, el uso de la CPU, el uso de la memoria y ajustar las etiquetas de prioridad, tiempo de espera e inactividad para obtener el mejor rendimiento.
  • El almacenamiento en memoria caché de objetos en instancias de DistributedMap especificadas hace que cada tipo de datos se almacene en memoria caché en su objeto DistributedMap correspondiente.
    Cuando utiliza este método, no se utilizan las configuraciones cachespec.xml para los tipos de datos que tengan definido una DistributedMap correspondiente. No se pueden ajustar los valores de prioridad, tiempo de espera o inactividad mediante el archivo de configuración cachespec.xml. Sin embargo, puede especificar otros atributos de DistributedMap, tales como el número máximo de entradas de memoria caché que se utilizarán en cada DistributedMap. Para obtener más información sobre el formato de archivo cacheinstances.properties, consulte Using the DistributedMap and DistributedObjectCache interfaces for the dynamic cache.

    Existen dos formas de poder definir objetos DistributedMap:

    1. Defina los objetos DistributedMap con los nombres JNDI predeterminados en el archivo cacheinstances.properties del directorio siguiente:
      • WCDE_installdir\samples\dynacache\
      Puede copiar y pegar el contenido seleccionado del archivo samples\dynacache\cacheinstances.properties en el archivo cacheinstances.properties personalizado del directorio Stores.war\WEB-INF\classes.
    2. Utilice WebSphere Application Server Integrated Solutions Console. En el menú de la izquierda, pulse Recursos > Instancias de memoria caché > Instancias de memoria caché de objetos.

    En un entorno en clúster, asegúrese de que se ha definido un dominio de réplica y, como mínimo, la memoria caché de objeto services/cache/WCSessionDistributedMapCache. Todas las memorias caché de objetos deben habilitar la réplica de memoria caché (notShared replicationType 1) de modo que permita que los ID de invalidación se envíen a todos los nodos en el dominio de réplica. De lo contrario, los ID de invalidación no se envían a todos los nodos en el dominio de réplica, lo que provocará resultados incorrectos debido a los datos obsoletos en algunas instancias de memoria caché. Asegúrese de especificar el dominio de réplica y un tipo de réplica válido. Se recomienda el tipo de réplica "no compartido".

  • Las instancias de memoria caché de objetos que están definidas en los archivos cacheinstances.properties establecen las propiedades correspondientes para cada instancia de memoria caché.
    Nombre de propiedad Valor
    cache.instance.n.cacheSize Empiece con el tamaño en el archivo cacheinstances.properties de ejemplo
    cache.instance.n.enableDiskOffload Empiece por false. Mida el efecto en el rendimiento antes de cambiar este valor. Especifique true para instancias de memoria caché que contienen datos de larga duración aplicables a muchos compradores. Sin embargo, en cuanto a lo que se refiere al rendimiento y a la privacidad, no descargue datos de usuarios en el disco.
    cache.instance.n.flushToDiskOnStop Empiece por false
    cache.instance.n.disableDependencyId false
    cache.instance.n.useListenerContext false
    cache.instance.n.filterLRUInvalidation true
    cache.instance.n.filterTimeOutInvalidation true
    cache.instance.n.filterInactivityInvalidation true
    cache.instance.n.disableTemplatesSupport true
    cache.instance.n.ignoreValueInInvalidationEvent true
    cache.instance.n.useServerClassLoader true
  • Configure una memoria caché de objeto para utilizar el proveedor de servicios de WebSphere eXtreme Scale.
    Las instancias de memoria caché de objetos que están definidas en los archivos cacheinstances.properties establecen las propiedades correspondientes para cada instancia de memoria caché.
    Nombre de propiedad Valor
    cache.instance.n.enableDiskOffload false
    cache.instance.n.flushToDiskOnStop false
    cache.instance.n.disableDependencyId false
    cache.instance.n.useListenerContext false
    cache.instance.n.enableCacheReplication true
    cache.instance.n.replicationType 1
    cache.instance.n.filterLRUInvalidation true
    cache.instance.n.filterTimeOutInvalidation true
    cache.instance.n.filterInactivityInvalidation true
    cache.instance.n.disableTemplatesSupport true
    cache.instance.n.ignoreValueInInvalidationEvent true
    cache.instance.n.useServerClassLoader true
    cache.instance.n.cacheProviderName com.ibm.ws.objectgrid.dynacache.CacheProviderImpl
    cache.instance.n.com.ibm.websphere.xs.dynacache.topology remotas
    Nota:
    • La propiedad personalizada cache.instance.n.com.ibm.websphere.xs.dynacache.topology únicamente es necesaria para eXtreme Scale inferior a la versión 8.6.
    • Si utiliza WebSphere eXtreme Scale 8.6, la propiedad personalizada cache.instance.n.com.ibm.websphere.xs.dynacache.disable_recursive_invalidate no debe utilizarse. Si utiliza esta propiedad personalizada, se registran cantidades excesivas de mensajes de aviso en el archivo de registro SystemOut.log. Para obtener más información sobre este problema, consulte APAR #.
    • El supervisor de memoria caché predeterminado no puede ver el contenido de las instancias de memoria caché de objeto. Para ver el contenido de una instancia de memoria caché de objeto, instale IBM Extended Cache Monitor para IBM WebSphere Application Server. Para obtener más información sobre este supervisor o para descargarlo, consulte la documentación de IBM developerWorks: