Problemas de rendimiento en tienda Prestashop

Prestashop de por sí es una aplicación bastante lenta, que requiere de una buena optimización por parte de los servidores y configuración de Prestashop.

Lo primero que haremos será revisar la configuración de rendimiento en el back office de Prestashop, accedemos al back office de Prestashop con nuestra dirección e-mail y contraseña:.



Una vez dentro, nos vamos a "Parametros avanzados / Rendimiento".

Para una tienda en producción es imprescindible que esté activada la casilla de "Cache de plantillas" con la opción de "Nunca recompilar los archivos del template" o "Recompilar el template si los archivos se han actualizado", como aparece en la imagen inferior. Nunca tendría que estar activada la opción de "Forzar compilación" salvo que la tienda esté en pruebas y/o desarrollo.



Para terminar bajamos hacia abajo y comprobamos que NO esté activado ningún sistema de cache adicional como podría ser Memcached, APC o Xcache. Esto es muy importante, ya que el sistema de cache Memcached, APC o Xcache se debe activar únicamente desde el panel de control Plesk. Si lo activamos en el panel de control Plesk y en el back office de Prestashop entra en conflicto con las directivas del servidor y provoca que se fragmente la memoria de la cache.

Resumiendo, dejamos la configuración de cache como en la imagen inferior.



Si tenemos activa la cache APC a nivel de servidor tenemos que entrar en nuestro dominio e introducir /cache-apc después del nombre, por ejemplo:

https://mariscos-recio.com.es/cache-apc



Si tenemos activa la cache OPcache a nivel de servidor tenemos que entrar en nuestro dominio e introducir /cache-opcache después del nombre, por ejemplo:

https://mariscos-recio.com.es/cache-opcache



Se puede activar, desactivar o elegir el sistema de cache siguiendo los pasos del siguiente tutorial:

https://www.loading.es/clientes/knowledgebase/218/Seleccion-de-version-PHP-y-cache-en-dominio-desde-panel-Plesk.html

Una vez configurado todo esto es importante reiniciar el servicio PHP siguiendo los pasos del siguiente tutorial:

https://www.loading.es/clientes/knowledgebase/214/Como-reiniciar-el-servidor-PHP.html

Después de reiniciar el servicio PHP será necesario esperar entre 30 y 60 minutos para obtener el mayor rendimiento posible, puesto que la página tendrá que ser cacheada de nuevo por el servidor.

Otros consejos para ganar en rendimiento si nuestra tienda Prestashop sigue siendo bastante lenta

En muchas ocasiones el problema de rendimiento de Prestashop se debe a una plantilla o módulo mal optimizado.

Prueba activando la plantilla por defecto, para descartar que los problemas de rendimiento sean debidos a la plantilla instalada.



Recomendamos también revisar todos los módulos instalados en el back office de Prestashop y desinstalar o eliminar los que no estemos usando o no sean 100% imprescindibles.

Aunque los módulos instalados no sean visibles en nuestra tienda, el servidor los tiene que procesar y aumentan el tiempo de carga de la página web. Desinstalando o eliminando varios módulos podemos ganar varios segundos en el tiempo de carga de nuestra tienda.

Los módulos que más aumentan la carga de la página web son los que realizan consultas SQL sobre la base de datos, Productos destacados, Últimos productos, Productos en oferta, etc.



Otro error muy común se produce en las plantillas con 2 columnas, columna central e izquierda (Left column), o columna central y derecha (Right column).

El servidor procesa la columna de la izquierda o de la derecha, a pesar de que la plantilla instalada no la usa, aumentando el tiempo de carga de nuestro sitio web.

La solución sería acceder a "Módulos / Posiciones" y eliminar todos los módulos de la columna no usada por la plantilla, en la captura de pantalla vamos a eliminar los módulos de la columna izquierda (Left column blocks).



Problema con la fragmentación de la cache APC

Al activar la cache APC en el back office de Prestashop provocamos que entre en conflicto con las directivas del servidor y se acabe fragmentando la cache APC al 100%, como vemos en la imagen inferior.



Cuando esto ocurre, el rendimiento de la página web cae considerablemente. La solución rápida sería reiniciar el servicio PHP para que se vacíe la cache APC y se vuelva a generar.

Puedes reiniciarla siguiendo los pasos del siguiente tutorial:

https://www.loading.es/clientes/knowledgebase/214/Como-reiniciar-el-servidor-PHP.html

En ocasiones a pesar de estar correctamente configurado, es posible que la cache APC se acabe fragmentando de nuevo al 100%.

Es un tema bastante complejo, que puede depender la versión de Prestashop instalada, plantilla usada, módulos usados, número de productos, etc.

Si vuelve a ocurrir periódicamente lo mejor sería cambiar el sistema de cache APC por OPcache o desactivar el sistema de cache del servidor, ya que cuando se fragmenta al 100% el rendimiento es peor que cuando no está activa la cache.
  • 29 Los usuarios han encontrado esto útil
¿Fue útil la respuesta?

Artículos Relacionados

Cómo puedo mover Prestashop de directorio

Primeramente tenemos que acceder al panel de control Plesk con nuestro usuario y contraseña:...

Cómo cambiar Magento a Español

Descargar paquete idioma: http://www.magentocommerce.com/translations/list/7   Descomprimir...

Cómo cambiar Wordpress a español

Si lo deseas, puedes descargar el paquete completo desde la web http://es.wordpress.org/ y...

Cómo hacer el DNI opcional en Prestashop 1.4.x

Nos vamos a la carpeta "controllers/" y modificamos el archivo AuthController.php, el código:if...

Cómo hacer el DNI opcional en Prestashop 1.5.x

Nos vamos a la carpeta "controllers/" y modificamos el archivo AuthController.php, el código: if...