Prácticas recomendadas de rendimiento de Checkout

El pago y envío El proceso de en Adobe Commerce es un aspecto crítico de la experiencia de la tienda. Se basa en el integrado carrito y pago y envío funciones.

El rendimiento es clave para mantener una buena experiencia de usuario. Revise la resumen de evaluación de rendimiento para obtener más información sobre las expectativas de rendimiento. Puede optimizar el rendimiento del cierre de compra configurando las siguientes opciones para procesamiento de pedidos de alto rendimiento:

Las opciones de configuración AsyncOrder, Cálculo de totales diferidos y Comprobación de inventario de carga de carro de compras funcionan de forma independiente. Puede utilizar las tres funciones simultáneamente o habilitar y deshabilitar las funciones en cualquier combinación.

NOTE
No utilice código PHP personalizado para personalizar las capacidades integradas de carrito y pago. Además de los posibles problemas de rendimiento, el uso de código PHP personalizado puede resultar en actualizaciones complejas y desafíos de mantenimiento. Estos problemas aumentan el coste total de propiedad. Si la personalización del carrito y del checkout basada en PHP es inevitable, utilice Adobe Commerce MarketplaceSolo extensiones aprobadas por. Todas las extensiones de Marketplace están sujetas a amplia revisión para comprobar que cumplen los estándares de codificación y las prácticas recomendadas de Adobe Commerce.

Colocación de pedido asincrónica

El Orden asíncrono : este módulo habilita la colocación asincrónica de pedidos, que marca el pedido como received, coloca el pedido en cola y procesa los pedidos de la cola según el primer ingreso y el primer envío. AsyncOrder está inhabilitado de forma predeterminada.

Por ejemplo, un cliente agrega un producto al carro de compras y selecciona Proceed to Checkout. Rellenan el Shipping Address formulario, seleccione su preferido Shipping Method, seleccione una forma de pago y realice el pedido. El carro de compras se borra, el pedido se marca como Received, pero la cantidad del producto aún no se ha ajustado, ni se ha enviado un correo electrónico de ventas al cliente. El pedido se recibe, pero los detalles del pedido aún no están disponibles porque el pedido no se ha procesado completamente. Permanece en la cola hasta que placeOrderProcess El consumidor comienza, comprueba el pedido con la variable comprobación de inventario (activada de forma predeterminada) y actualiza el orden de la siguiente manera:

  • Producto disponible: el estado del pedido cambia a Pendiente, se ajusta la cantidad del producto, se envía un correo electrónico con los detalles del pedido al cliente y los detalles del pedido correctos están disponibles para su visualización en la Pedidos y devoluciones lista con opciones procesables, como reordenar.
  • Producto agotado o con bajo suministro: el estado del pedido cambia a Rechazado, la cantidad del producto no se ajusta, se envía un correo electrónico con detalles del pedido sobre el problema al cliente y los detalles del pedido rechazado están disponibles en la Pedidos y devoluciones lista sin opciones procesables.

Utilice la interfaz de la línea de comandos para habilitar estas funciones o editar la variable app/etc/env.php archivo según los archivos README correspondientes definidos en la variable Guía de referencia del módulo.

Para habilitar AsyncOrder:

Puede habilitar AsyncOrder mediante la interfaz de línea de comandos:

bin/magento setup:config:set --checkout-async 1

El set El comando escribe lo siguiente en app/etc/env.php archivo:

...
   'checkout' => [
       'async' => 1
   ]

Consulte AsyncOrder en el Guía de referencia del módulo.

Para deshabilitar AsyncOrder:

WARNING
Antes de deshabilitar el módulo AsyncOrder, debe comprobar que todo se han completado los procesos de pedido asincrónico.

Puede deshabilitar AsyncOrder mediante la interfaz de línea de comandos:

bin/magento setup:config:set --checkout-async 0

El set El comando escribe lo siguiente en app/etc/env.php archivo:

...
   'checkout' => [
       'async' => 0
   ]

Compatibilidad con AsyncOrder

AsyncOrder admite un conjunto limitado de características de Adobe Commerce.

Categoría
Función admitida
Tipos de desprotección
Cierre de compra de OnePage
Cierre de compra estándar
Cotización negociable B2B
Métodos de pago
Cheque/giro postal
Pago contra reembolso
Braintree
PayPal PayFlow Pro
Métodos de envío
Se admiten todos los métodos de envío.

Las siguientes funciones son no compatible con AsyncOrder, pero sigue funcionando sincrónicamente:

  • Métodos de pago no incluidos en la lista de funciones admitidas
  • Cierre de compra de varias direcciones
  • Creación de órdenes de administración

Compatibilidad con API web

Cuando el módulo AsyncOrder está habilitado, los siguientes extremos REST y mutaciones de GraphQL se ejecutan de forma asíncrona:

REST:

GraphQL:

INFO
GraphQL no admite la colocación asincrónica de pedidos de presupuesto negociables.

Exclusión de métodos de pago

Los desarrolladores pueden excluir explícitamente ciertos métodos de pago de la colocación asincrónica de pedidos añadiéndolos al Magento\AsyncOrder\Model\OrderManagement::paymentMethods matriz. Los pedidos que utilizan métodos de pago excluidos se procesan sincrónicamente.

Pedido asíncrono de oferta negociable

El Pedido asíncrono de oferta negociable El módulo B2B permite guardar elementos de pedido de forma asíncrona para NegotiableQuote funcionalidad. Debe tener habilitados AsyncOrder y NegotiableQuote.

Cálculo de total diferido

El Cálculo de total diferido El módulo optimiza el proceso de cierre de compra al aplazar el cálculo total hasta que se solicite para el carro de compras o durante los pasos finales de cierre de compra. Cuando está habilitado, solo el subtotal se calcula cuando un cliente agrega productos al carro de compras.

El cálculo total diferido es inhabilitado de forma predeterminada. Utilice la interfaz de la línea de comandos para habilitar estas funciones o editar la variable app/etc/env.php archivo según los archivos README correspondientes definidos en la variable Guía de referencia del módulo.

Para habilitar DeferredTotalCalculation:

Puede habilitar DeferredTotalCalculation mediante la interfaz de línea de comandos:

bin/magento setup:config:set --deferred-total-calculating 1

El set El comando escribe lo siguiente en app/etc/env.php archivo:

...
   'checkout' => [
       'deferred_total_calculating' => 1
   ]

Para deshabilitar DeferredTotalCalculation:

Puede deshabilitar DeferredTotalCalculation mediante la interfaz de línea de comandos:

bin/magento setup:config:set --deferred-total-calculating 0

El set El comando escribe lo siguiente en app/etc/env.php archivo:

...
   'checkout' => [
       'deferred_total_calculating' => 0
   ]

Consulte DeferredTotalCalculating en el Guía de referencia del módulo.

Impuesto de producto fijo

Cuando el cálculo del total diferido está habilitado, el impuesto sobre el producto fijo (FPT) no se incluye en el precio del producto y en el subtotal del carro de compras después de agregar el producto al carro de compras. El cálculo de FTP se difiere al agregar un producto al minicarrito. El FTP se muestra correctamente en el carro de compras después de pasar al cierre de compra final.

Desactivar comprobación de inventario

El Habilitar inventario al cargar el carro la configuración global determina si se debe realizar una comprobación de inventario al cargar un producto en el carro de compras. La desactivación del proceso de comprobación de inventario mejora el rendimiento de todos los pasos de cierre de compra, especialmente cuando se tratan productos a granel en el carro de compras.

Cuando está desactivada, la comprobación de inventario no se produce al añadir un producto al carro de compras. Si se omite esta comprobación de inventario, algunos escenarios sin existencias podrían generar otros tipos de errores. Una comprobación de inventario siempre se produce en el paso de colocación del pedido, incluso cuando está desactivado.

Habilitar comprobación de inventario al cargar el carro está habilitado (establecido en Sí) de forma predeterminada. Para desactivar la comprobación de inventario al cargar el carro, establezca Enable Inventory Check On Cart Load hasta No en la IU de administración Tiendas > Configuración > Catálogo > Inventario > Opciones de Stock sección. Consulte Configurar opciones globales y Inventario de catálogo en el Guía del usuario.

Equilibrio de carga

Puede ayudar a equilibrar la carga entre los distintos nodos activando conexiones secundarias para la base de datos MySQL y la instancia de Redis.

Adobe Commerce puede leer varias bases de datos o instancias de Redis de forma asincrónica. Si utiliza Commerce en la infraestructura de la nube, puede configurar las conexiones secundarias editando el MYSQL_USE_SLAVE_CONNECTION y REDIS_USE_SLAVE_CONNECTION valores en la .magento.env.yaml archivo. Solo un nodo debe gestionar el tráfico de lectura-escritura, por lo que las variables se deben configurar como true da como resultado la creación de una conexión secundaria para el tráfico de solo lectura. Establezca los valores en false para quitar cualquier matriz de conexión de solo lectura existente de env.php archivo.

Ejemplo de .magento.env.yaml archivo:

stage:
  deploy:
    MYSQL_USE_SLAVE_CONNECTION: true
    REDIS_USE_SLAVE_CONNECTION: true
recommendation-more-help
c0c5bbed-4957-4162-81bc-120c837a1894