20/05/2021

¿Cómo conseguir una tienda rápida y fluida?

En este vídeo Alejandro Ramos Tech Evangelist en España y Latinoamérica habla con Omar Martínez tech project en Arsys y experto en optimización de servidores.

Omar nos dará los conceptos básicos que debemos de conocer para poder optimizar nuestra estructura PrestaShop y que además es necesario tenerlos claros para entender correctamente el  White Paper que PrestaShop ha publicado (en inglés) y que Alejandro  presenta en el mismo vídeo. Puedes leer el documento haciendo clic aquí. Al final del mismo encontrarás todas las configuraciones para que puedas aplicarlas en tu servidor (si es compatible) de manera sencilla.

Tipo de Infraestructuras

Hay dos tipos de infraestructuras que debemos tener en cuenta: 

  • Infraestructura Monolítica: tenemos todos los servicios en una sola máquina: tanto base de datos como el propio PrestaShop están en el propio servidor, esto nos impide escalar horizontalmente
  • Infraestructura Distribuida: podemos tener los servicios repartidos en varios servidores: en un servidor la base de datos en otro PrestaShop o incluso varios Frontales

Servidor Web Apache o Ngnix

PrestaShop es compatible con ambos servidores, la principal diferencia entre ambos es que Apache usa subprocesos para cada solicitud y Nginx usa un sistema asíncrono (a través de un bucle de eventos) para administrar las solicitudes. Por este motivo Nginx necesita mayor CPU que Apache.

Este sistema asíncrono hace que Ngninx sea mucho mejor para cargas enormes donde Apache no es tan rápido pero su principal carencia es la latencia, el tiempo que tarda en revisar varios eventos al mismo tiempo.

Apache se desenvuelve muy bien en contenidos dinámicos como PHP, es por esto que tal y como se puede observar en las pruebas del WhitePaper Apache obtiene mejores resultados para una instalación PrestaShop además con Apache podemos editar fácilmente el archivo .htaccess para configuraciones básicas del servidor..

Omar confirma que podemos usar Apache para lenguajes dinámicos donde Apache es superior y Nginx para solicitudes más pesadas como las imágenes aunque implementar esta infraestructura no es lo más habitual ya que podemos implementar CDN para la carga de imágenes.

PHP

Muy importante usar la versión recomendada de PHP en función de nuestra versión PHP

La mayoría de instalaciones modernas ya usan PHP-FPM que tal y como se ve en los resultados de los test realizados en el WhitePaper mejoran mucho las prestaciones de nuestra tienda en línea. 

Si no disponemos de PHP-FPM en nuestro servidor se recomienda siempre usar PHP 7 en adelante, teniendo en cuenta que versión de PHP es compatible en función de nuestra versión de PrestaShop

Cache PHP

PrestaShop es compatible con Memcached, APC y Xcache. Apc desaparece y se divide en APCU y OPCache.

  • OPcache: almacena en memoria el contenido y lo muestra cuando otra persona solicita el mismo contenido
  • APCu: almacena objetos definidos en programación para agilizar la carga.
  • Memcached: es un servicio que hay que instalar en el servidor y configurar en PrestaShop, con Memcached se reduce al máximo las consultas a base de datos. En arquitecturas distribuidas puede alojar sesiones también.

 Las pruebas alojan mejores resultados con el uso de Memcached

Resumen Final

Después de analizar los conceptos básicos y de revisar los tests realizados en el WhitePaper podemos concluir que:

  • Apache puede manejar más sesiones que en Ngninx 
  • PHP: Utilizar siempre que sea posible  PHP-FPM
  • Disco duro: SSD siempre que sea posible 
  • Servidor dedicado para la base de datos aumenta mucho la cantidad de visitas máximas por hora

No olvides ver el detalle de las pruebas en el white paper para decidir qué configuraciones son las más óptimas en función de tu necesidad. 

Cada 2 semanas, nuestra newsletter e-commerce

Al enviar este formulario, acepto que PrestaShop S.A utilice los datos que he facilitado para el envío de boletines y ofertas promocionales. Puedes cancelar la suscripción en cualquier momento por medio del enlace que figura en los correos promocionales que recibes. Obtén más información sobre la gestión de tus datos y derechos.