Estoy ejecutando varias tiendas Magento CE y las acelero con el almacenamiento en caché, sin embargo, el carrito y el pago siguen siendo lentos. ¿Alguien tiene experiencia o consejos para acelerar estas páginas?
¿Quizás a través de la optimización de la base de datos?
Algunas consultas se realizaron al guardar un pedido de la caja si aparecen en el registro lento de consultas en el servidor y la base de datos parece ser el cuello de botella.
configuration
performance
Sander Mangel
fuente
fuente
Respuestas:
Por experiencia personal, deshabilite el módulo Mage_Rss que obliga a una 'limpieza de caché' 4 veces en el proceso de pago, muy costoso si está utilizando caché del sistema de archivos, probablemente aún costoso si está utilizando una base de datos o memcached.
CE Solo deshabilita Mage_Downloadable por razones similares, siempre que no estés usando un producto descargable, esto acelerará las acciones de pago y compra cuando tengas varios artículos en el carrito porque hay observadores en cosas como las
checkout_type_onepage_save_order_after
que multiplican el tiempo de respuesta por el número de artículos en el carrito.Conecte xhprof / xhgui y haga algunos perfiles.
fuente
Module "Enterprise_PricePermissions" requires module "Mage_Downloadable
Ambos cambios tendrán un impacto MASIVO en el rendimiento, ya que impidió que Magento eliminara los cachés y volviera a indexar cada vez que se realiza un pedido.
Sin embargo, tiene un costo, como resultado, el contenido puede ser obsoleto: niveles de existencias, etc.
fuente
Si desea resolverlo de forma experimental, hay una extensión del primer hackathon de magento en munich, alemán:
https://github.com/magento-hackathon/MongoDB-OrderTransactions
Ponen las órdenes en cola en una base de datos mongo, la idea era, si el servidor mysql no tiene carga para escribirlas. Pero no sé hasta qué punto está listo este proyecto. Afaik trabaja toda la escritura, pero no la escritura posterior.
fuente
No conozco tu versión Magento CE con la que estás luchando. Pero tuve serios problemas de rendimiento con mi CE 1.6.
Motivo: índices incorrectos y faltantes. Se arreglaron en CE 1.6.2.
Puede verificar si le ayuda.
¡Reduje el tiempo de pago para 38 líneas con 73 artículos en total de 123 segundos a 4 segundos!
Aquí viene:
fuente
La mejor manera de acelerar las operaciones de la gran base de datos es tener su base de datos en su propio servidor que esté optimizado para su uso. No hay mucho que se pueda mejorar en el área de pago en términos de código (aunque ciertos tipos de productos, como Configurable, realmente pueden atascar el proceso de cotización) ya que muy poco se puede almacenar en caché de forma segura.
fuente
Tal vez considere dividir las lecturas y las escrituras en su base de datos. Sin embargo, necesitará una configuración de replicación casi inmediata, que es lo que siempre me preocupa de hacerlo, aunque otros pueden tener más información sobre la mejor manera de configurarlo.
fuente