Magento en general, es conocida como una plataforma lenta. Algunos dicen que es intencionado. La gente de Varien (la empresa que desarrolla Magento), ofrece una versión de pago que sí es realmente rápida. El problema es el precio que tiene, de unos módicos 10.000 euros al año.
Las diferencias entre ambas plataformas son bastantes, pero en mi opinión hay una que destaca sobre el resto y es lo que se denomina Full Page Cache.
Magento Full Page Cache. Cómo funciona.
Para comprender la importancia del termino hay que entender como se genera una página cualquiera dentro de una Web, y en concreto, cómo se genera dentro de Magento.
Funcionamiento sin Full Page Cache
Sin esta característica, cada vez que se accede a una página de la tienda, por ejemplo a una lista de productos de una categoría, Magento:
- Se conecta a la base de datos y busca todos los productos pertenecientes a la misma.
- Recopila la información de esos productos: nombres, imágenes, descripción breve, precios, etc.
- Determina el formato con el que se visualiza la información: cuantas filas y columnas, número de productos que se muestran, páginación, orden de los productos.
- Añade otras informaciones como la cabecera y el pie de página, etc.
Prácticamente toda la información que se requiere, necesita de una conexión a la base de datos, un procesamiento, una maquetación, y finalmente enviarla al navegador Web. Hay algún paso que se puede saltar, pero en general es el funcionamiento habitual cada vez que el usuario accede a una página.
Magento con Full Page Cache
Imaginemos que una vez hecho todo el trabajo anterior, Magento se lo guardase de alguna forma.
La siguiente vez que un usuario accede a esa misma categoría de la tienda, Magento no tiene que recopilar toda la información paso a paso, sino que ya la tiene guardada y simplemente la envía al navegador del usuario.
Eso es de forma muy simplificada la forma de funcionar de Magento Full Page Cache.
Detrás de estas ideas hay bastante complejidad, sobre todo para determinar cuándo la página guardada ya no sirve. Por ejemplo si añadimos un nuevo producto a la categoría, la información ya no servirá.
Magento Full Page Cache en Community Edition
Que Magento Community Edition disponga de Full Page Cache haría que los problemas de rendimiento de Magento desaparecieran de un plumazo, pero claro está que Varien no va a liberar tan fácilmente la característica que hace que sigan vendiendo la versión Magento Enterprise.
No obstante, Magento es un software Open Source y nada impide que terceros se pongan manos a la obra e intenten poner la Community Edition al nivel de la versión Enterprise. Al fin y al cabo 10000 euros al año dan para desarrollar bastante software.
Así que tenemos varios opciones interesantes:
Usar Zend Server con Magento
Una opción viable con servidores dedicados y si eres administrador de sistemas. Magento Community Edition tiene una versión reducida del Full Page Cache que funciona sólo con Zend Server.
Extensiones Full Page Cache para Magento Community
Puede ser alguna de las siguientes:
Referente a estas extensiones, es necesario hacer un análisis previo y en profundidad de las características de la tienda para determinar si nos van a dar algún problema de compatibilidad. En general todas funcionan bien con una instalación limpia de Magento, pero suelen dar problemas con otras extensiones, sobre todo en lo referente a la actualización de la cache.
Hey! Qué opinas sobre el artículo?