Saltar al contenido

¿Por qué Magento 2 es extremadamente lento?

Siéntete en la libertad de divulgar nuestra página y códigos en tus redes, ayúdanos a hacer crecer esta comunidad.

Solución:

Hay varios recursos disponibles para mejorar el rendimiento de Magento 2 y todos están bastante bien documentados.

Modo: Magento 2 ha introducido modos, siendo el predeterminado el más lento. Prueba el modo de desarrollador y siempre ejecuta tu tienda en vivo en modo de producción. Más info aquí.

Caché: Varnish se admite desde el primer momento, bastante fácil de configurar y usar.

Redis: Redis es una solución de caché de backend opcional para reemplazar Zend_Cache_Backend_File, que se utiliza en Magento 2 de forma predeterminada. Se puede utilizar para el almacenamiento de sesiones y el almacenamiento en caché de páginas.

Memcache: Memcached es una memoria en key-Almacenamiento de valores para pequeños fragmentos de datos arbitrarios (cadenas, objetos) de los resultados de las llamadas a la base de datos, las llamadas a la API o la representación de páginas. En Magento 2 se puede utilizar para sesiones.

PHP 7: Magento 2 es compatible con PHP 7 listo para usar. Hay mucha investigación sobre cómo PHP 7 afecta el rendimiento para siempre.

Esto es solo el comienzo, debería poder ajustar su servidor web y su servidor de base de datos, pero eso dependerá en gran medida de su caso de uso particular.

Si no sabe cómo hacerlo usted mismo, hay muchas empresas especializadas en el alojamiento de Magento.

Para un entorno de desarrollo bastante sólido, mi recomendación personal es Paliarush ‘Vagrant o la VM que obtuve de Magento para los cursos. Próximamente habrá una imagen de Docker oficial.

Magento funciona razonablemente bien incluso en modo desarrollador. Sin embargo, necesita alguna configuración inicial.

Primero asegúrese de que Magento esté configurado correctamente, asumiendo que está en Ubuntu:

Utilice la última compilación ya que Magento 2.2+ es compatible con php 7.1 http://devdocs.magento.com/guides/v2.2/install-gde/prereq/php-ubuntu.html

sudo apt-get install php7.1 php7.1-imap php7.1-xml php7.1-dom php7.1-intl

Si está ejecutando varias versiones de php, establezca 7.1 en el valor predeterminado a través de

sudo update-alternatives --set php /usr/bin/php7.1

En Magento

  1. Establecer como Desarrollador si aún no lo ha hecho php -f bin/magento deploy:mode:show

    php -f bin/magento deploy:mode:set developer

  2. Verifique que la caché de Magento esté habilitada

    php -f bin/magento cache:status

Si no está habilitado (serie de unos)

php -f bin/magento cache:enable

Habilitar la agrupación JS / CSS

Tiendas> Configuración> Avanzado> Desarrollador

* Tenga en cuenta que el elemento del menú anterior solo aparece en el modo de desarrollador

Configuraciones de plantilla

  • Minificar HTML = Sí

Configuración de JavaScript

  • Combinar archivos JS = Sí

  • Habilitar JS Bundling = Sí

  • Minificar archivos JS = Sí

Configuración de CSS

  • Fusionar CSS = Sí
  • Minificar CSS = Sí

Realice un vaciado de caché de aquí en adelante después de cada paso vaciar el caché, esta es su línea de base para tratar de mejorar el tiempo de carga.

php -f bin/magento cache:flush

Empaquetado avanzado

Esta sería una publicación en sí misma que sigue las pautas de magento devdocs sobre cómo habilitar esto, esto podría aumentar aún más la carga de JS frontend haciéndolo 3 veces más rápido.

Usa Redis

sudo apt-get update
sudo apt-get install build-essential tcl8.5
sudo apt-get install make
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
cd utils/
sudo ./install_server.sh

Editar /www/project/app/etc/env.php

'cache' => 
  array (
    'frontend' => 
    array (
      'default' => 
      array (
        'backend' => 'Cm_Cache_Backend_Redis',
        'backend_options' => 
        array (
          'server' => '127.0.0.1',
          'database' => '0',
          'port' => '6379',
        ),
      ),
      'page_cache' => 
      array (
        'backend' => 'Cm_Cache_Backend_Redis',
        'backend_options' => 
        array (
          'server' => '127.0.0.1',
          'port' => '6379',
          'database' => '1',
          'compress_data' => '0',
        ),
      ),
    ),
  ),

Utilice PHP-FPM

apt-get install php7.1-fpm
a2enmod proxy_fcgi setenvif
a2enconf php7.1-fpm
sudo service php7.1-fpm restart
sudo service apache2 restart

Habilitar opcache en PHP

Edite /etc/php/7.1/apache2/php.ini busque opcache.enable

opcache.enable=1

También recomendaría usar una base de datos en la nube como AWS RDS u otra que le ahorrará los dolores de cabeza de configurar mysql.

Si ahora habilita el modo de producción
php -f bin/magento deploy:mode:set production

debería encontrar que está funcionando razonablemente bien.

Más allá de aquí, puede agregar Varnish, Cambiar a Nginx y agregar un CDN para static archivos.

También tuve este problema en una Macbook Pro (finales de 2016) con MAMP.

Lo que quería hacer era crear un tema de Magento 2. Había desactivado todos los cachés y me tomó como 30 segundos recargar una página (frontend y backend).

Activé todos los cachés con el comando “php magento cache: enable” y el sitio se carga muy rápido. Todavía puedo trabajar con Grunt y LESS sin desactivar ningún tipo de caché.

Aquí tienes las reseñas y calificaciones

Te invitamos a defender nuestra investigación ejecutando un comentario o dejando una puntuación te damos las gracias.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *