Aquí tenemos una nueva entrega de cómo aumentar la velocidad de tu Prestashop gratis.
Hasta ahora hemos visto como cambiar el motor de base de datos de tu plataforma y también como influyen las imágenes en los tiempos de carga de la página, así como configurar un servidor de medios y otros trucos que pueden ayudarte a mejorar la velocidad. En este artículo vamos a hablar de las cachés, de sus ventajas y de sus desventajas.
Lo primero es definir que es un caché, y en términos generales podemos decir que una caché es un programa que guarda en memoria código que ya ha sido solicitado, de tal manera que no es necesario volver a ejecutar los scripts que generaron dicha página y en teoría, aumentar la velocidad de respuesta.
En prestashop debemos diferenciar entre la caché de plantilla y la caché del sitio.
Para entender la cache de plantillas hay que entender como funciona el sistema de plantillas de prestashop. Esta basado en Smarty, que es un sistema de plantillas muy utilizado sobre todo por su sencillez, y que permite separar bastante el código de la representación, es decir, lo que ve el cliente, de como hay que calcular lo que ve el cliente.
Smarty utiliza un tipo de archivo propio, los famosos archivos .tpl que habréis visto dentro de la carpeta del tema de vuestra tienda, y que el motor de Smarty se encarga de convertir a un archivo html que el servidor web, normalmente Apache, es capaz de entender y enviar al navegador del cliente.
Esta cache debería estar siempre activa en un entorno de producción, ya que solo es necesario desactivarla si hacéis cambios en alguna plantilla de la plataforma, además, deberíais tener marcado “Nunca recompilar los archivos de la plantillas”.
La configuración que nosotros recomendamos para un sistema en producción es la que podéis ver en la imagen anterior, con un par de notas que hay que discutir:
- El tipo de caché puede configurarse como MySQL, pero en nuestras pruebas provoca un gran estrés en la base de datos, haciendo que el rendimiento no sea bueno, sobre todo en sitios grandes. Por otra parte, si los discos de tu servidor son mecánicos, el almacenamiento en disco también puede ser lento.
- Vaciar la caché. Aquí podemos daros una recomendación, pero dependiendo del alojamiento que tengas, de los módulos que tengas y del numero de visitas tendrás que probar cual de las dos opciones con mejores para ti. Nosotros recomendamos que por defecto nunca limpies la caché de archivos, aunque si hacéis algún cambio, tendréis que borrarla manualmente.
La caché general de la plataforma se configura dentro de Parámetros Avanzados –> Rendimiento, en el apartado Caché. Para entender la cache debemos primero diferenciar entre las caches de código y las cachés de memoria distribuida de datos. Entre los segundos están Memcache y MemcacheD. Estos sistemas no van a aumentar la velocidad de tu prestashop, sino que va a mejorar los accesos a la base de datos. El problema de esto, es que si esta configurada de una forma muy agresiva puedes tener problemas con los resultados de las consultas, y que cambios en tu backend en temas como precios o stocks pueden no reflejarse inmediatamente en el frontend.
En los segundos tenemos disponibles en prestashop el APC y el Xcache. Decidir cual de ellas es mejor es una cuestión de prueba y error, aunque en cualquier caso, lo mas importante es que la configuración de cualquiera de ellas sea la correcta, para evitar efectos indeseados y que no se vean correctamente las paginas o que no aparezcan cambios realizados en vuestra pagina
Como podéis haber visto, nos hemos olvidado del Sistema de archivos, esto es así porque en la mayoría de los casos, la mejora de rendimiento con la caché de archivos queda empañado con la perdida de rendimiento por el acceso a disco, mas aun si además tenemos la caché de Smarty en disco también.