Consideraciones sobre la evaluación de promociones

A la hora de diseñar promociones para el sitio, considere cuántas promociones se evalúan. El modo en que diseña las promociones y configura su proceso de evaluación puede afectar al rendimiento del sitio durante la evaluación de las promociones. Cuando crea promociones, tenga en cuenta el tipo de promoción, las condiciones de la promoción, el tamaño de los pedidos que se evalúan y el creador de agendas que se utiliza para la evaluación de promociones.

Condiciones y tipos de promociones

Cuando crea promociones en el Centro de gestión, determinadas condiciones y tipos de promociones pueden afectar al rendimiento de la tienda. Para obtener más información sobre el efecto de determinados tipos de promociones sobre el rendimiento de la tienda, consulte Consideraciones sobre condiciones y tipos de promociones.

Configuración del motor de promociones

Puede configurar los valores del motor de promociones para mejorar el rendimiento de la evaluación de promociones. Puede realizar los cambios siguientes ajustando los valores en la configuración del motor de promociones:
  • Inhabilite el rastreo de depuración del motor con el establecimiento de <Debug>false</Debug>. En lugar de utilizar el motor de depuración de rastreo, puede utilizar el rastreo de WebSphere Application Server. Para obtener más información sobre el rastreo de WebSphere Application Server, consulte Componentes de rastreo.
  • Si el soporte BestDeal está habilitado, asegúrese de que <SequenceCombinationLimit> esté configurado con un valor aceptable. Para obtener más información sobre el cambio del valor de este parámetro, consulte Soporte BestDeal para promociones.
  • Ajuste el tamaño de memoria caché para PersistenceManagers, en particular <InitialCacheSize> y <MaxCacheSize> para PromotionPersistenceManager. Al establecer el tamaño de memoria caché según el uso de las promociones de la tienda, puede mejorar el rendimiento. Si establece el tamaño de memoria caché puede evitar el acceso innecesario a la base de datos e impedir el análisis XML de la regla de promociones. El valor predeterminado permite que la memoria caché contenga 1024 objetos de promociones. Esta memoria caché se puede ampliar a 8192 objetos. Incremente <MaxCacheSize> si el sitio contiene más promociones utilizadas activamente. Esta memoria caché está contenida en JVM y el tamaño se puede ajustar según la memoria libre disponible en tiempo de ejecución.
  • Habilite el .WCPromotionDistributedMapCache DistributedMap La habilitación de este valor puede mejorar el rendimiento de la lógica relacionado con la promoción.

Para obtener información sobre cómo ajustar los valores del motor de promociones y más opciones de configuración del motor de promociones, consulte configuración del motor de promociones.

Creadores de agendas de promociones

Cuando se invoca el motor de promociones, se utiliza primero un creador de agendas para determinar las promociones activas para un pedido. El creador de agendas de promociones específico que el sitio utiliza puede afectar al rendimiento del proceso de evaluación de promociones. Para obtener más información sobre cómo garantizar que el sitio utilice el creador de agendas adecuado, consulte Consideraciones sobre el creador de agendas de promociones.

Número de productos en un pedido

Un carro de la compra con muchos productos no funciona igual que un carro con menos productos. Este comportamiento se debe al número de cálculos que se deben realizar para evaluar las promociones para un carro con muchos productos. Este problema de rendimiento basado en cálculo se complica cuando se aplican múltiples promociones al mismo artículo en un carro de la compra. Para mejorar el rendimiento, céntrese en el tamaño y la composición típicos de los pedidos para la evaluación del rendimiento de las promociones durante el ajuste del rendimiento. Pruebe grandes pedidos simultáneamente con pedidos habituales para asegurarse de que la evaluación de estos pedidos no produzca una reducción en el rendimiento en el caso de compradores medio.

Puede ajustar el umbral de tamaño del carro para ayudar a evitar problemas de rendimiento como resultado de grandes pedidos de carros de la compra. Para obtener más información sobre cómo ajustar el umbral del tamaño del carro de la compra, consulte Configuración de los límites de pedido para impedir excepciones sin límites.

Estructura de catálogos

Muchos tipos de promociones tienen condiciones que se basan en catálogos. El rendimiento de recuperación de información de catálogo puede afectar a la evaluación de promociones. Puesto que una promoción se puede configurar en el nivel de producto o categoría padre, CalculationCodeListDataBean debe resolver la relación artículo-producto. CalculationCodeListDataBean debe descubrir la estructura de categorías de cada artículo en un Carro de la compra para verificar si el artículo del pedido cumple los criterios de promoción a nivel de categoría. El proceso utiliza la estructura de categorías para cada artículo para crear una consulta para información de promociones en las tablas CATENCALCD y CATGPCALCD. El número de catálogos de la tienda y la profundidad de las estructuras de categorías pueden afectar al rendimiento de este proceso. Este proceso también se desencadena en la lógica ShopcartDrivenAgendaBuilder para filtrar las promociones no relacionadas de acuerdo con el Carro de la compra. La lógica de este proceso utiliza WCS DataCache para acceder a la información de los catálogos. Puede habilitar los siguientes mapas distribuidos para tener un mejor rendimiento de la lógica de promociones para recuperar información de catálogo:
  • WCCatalogGroupDistributedMapCache DistributedMap
  • WCCatalogEntryDistributedMapCache DistributedMap
Nota: Para mejorar el rendimiento, la lógica de promociones predeterminada almacena en memoria caché los datos de atributos y estructuras de categorías resueltos en objetos de promoción durante el proceso de evaluación.

Número de segmentos de clientes y condiciones

Los segmentos de clientes se pueden definir como uno de dos tipos:
  • Segmentos de clientes explícitos con miembros que se han añadido explícitamente en el segmento.
  • Segmentos de clientes implícitos donde las características del cliente se utilizan para determinar la pertenencia al segmento. Por ejemplo, los datos demográficos o el historial de compras.

La utilización de segmentos explícitos tiene un mejor rendimiento que el segmento de clientes implícitos cuyas reglas deben evaluarse repetidamente durante el tiempo de ejecución. La habilitación de WCUserDistributedMapCache DistributedMap también ayuda al rendimiento de la lógica relacionada con los miembros.