Uno de los problemas que nos encontramos a menudo es que la configuración de Magento no es la más óptima, o que los desarrollos de nuevos módulos no siempre están hechos para cumplir 100% el estandard de Magento y esto provoca problemas de rendimiento. Los 8 pasos para mejorar el rendimiento son:
- Activar compresión gzip en las páginas
- Las páginas y los recursos, al pesar menos, tardarán menos en llegar al usuario.
- Instalar Alternative PHP Cache (APC)
- APC mejora notablemente el rendimiento general de cualquier aplicación PHP, en nuestro caso Magento. Se encarga de mantener cacheado el código compilado de la apliación, haciendo que PHP no lo tenga que interpretarlo cada vez. Además si instruimos a Magento para usar APC para guardar datos de caché, ganaremos velocidad al no tener que guardarlas en disco.
- Usar un sistema de archivos basado en RAM para el directorio de caché
- Magento mantiene un sistema de cachés para no tener que calcularlo todo cada vez (layouts, bloques, configuración, etc) y todo esto lo guarda en disco. Creando un disco en memoria mejoraremos el rendimiento ya que es mucho mas rápido que acceder al disco físico.
- Activar caché mysql y ampliar el uso de memoria
- El uso de base de datos es muy intensivo. Activando la caché y ampliando la memoria que suele tener preconfigurado conseguiremos que el acceso a base de datos sea mas rápido.
- Activar la compilación de código
- El código de Magento es muy grande y se han de cargar muchas clases para cada petición que se haga. Activando la compilación hacemos que todo el código se compacte y sea mucho mas rápido al no tener que cargar tantos archivos extra.
- Servir los CSS y JS juntos
- Magento tiene la posibilidad de generar y comprimir las hojas de estilo y javascript juntos. Haciendo esto haremos que el navegador cargue menos ficheros y sea mas rápido.
- Instalar un reverse proxy
- Bien configurado, la mejora puede ser espectacular. Si se quiere mejorar aún más el rendimiento, es posible desarrollar módulos que den orden al reverse proxy de cachear ciertas partes de la aplicación, liberando de carga al servidor.