¿Cómo hacer que los sitios de desarrollo de Magento 2 sean rápidos?

18

Apagué todos los cachés y configuré el modo de implementación para el desarrollo. Por lo tanto, mis sitios de desarrollo de Magento 2 en todas las máquinas son muy lentos en comparación con los sitios de Magento 1.x.

¿Es normal para Magento 2?

¿Cuáles son las configuraciones de servidor y Magento que debemos usar para los sitios de desarrollo de Magento 2 para que tenga la máxima velocidad?

Actualizar:

En Mac para desarrollo local, pude acelerar el sitio deshabilitando opcache ya que hubo un problema de configuración.

codelogn
fuente
Instale Redis para reemplazar la memoria caché del archivo de fondo. Y use memcache para sesiones php. Habilite el caché y deshabilite las secciones de caché que no desea habilitar cuando trabaje en una tarea en particular. Si solo está diseñando el tema, use grunt watch y habilite todo el caché. La configuración está en la documentación oficial de magento 2.
oscuro
redis es inútil a menos que tenga más de 100k productos
Claudiu Creanga
También estoy sufriendo un desarrollo lento en la PC con Windows local. Según su experiencia, ¿sería mejor para mí comenzar el desarrollo local en Ubuntu o Linux Mint? y que configuración me recomiendan
Jai

Respuestas:

12

Puede usar este cuadro vagabundo https://github.com/EcomDev/fast-hypernode .

Lo uso y es bastante rápido. En modo desarrollador con caché deshabilitado y xdebug, la actualización de una página es de aproximadamente 2-3 segundos.

O puede usar el cuadro vagabundo provisto por magestead: http://www.magestead.com/

  • usa php7.
  • use gulp para generar css y js (más rápido que gruñido). Puede probar la configuración ya construida por snowdog (lista en 2 minutos): https://github.com/SnowdogApps/magento2-frontools
  • use 3 gb de ram si está haciendo pruebas.
  • deshabilite solo el caché que necesita . Si está haciendo frontend no necesita deshabilitar ningún caché.
  • use livereload o browsersync para el desarrollo frontend para que no necesite recargar páginas.

Comprenda qué hacen los comandos de magento y cuándo ejecutarlos. Si estás corriendo mucho setup:static-content:deploy, te volverás loco al ver esos puntos. Grunt o Gulp no saben acerca de @magento_import, por eso cuando agrega o elimina archivos necesita ejecutar, dev:source-theme:deployque es mucho más rápido que el anterior.

Lo que no mejora:

A menos que tenga más de 100k productos, redis no hace ninguna diferencia, así que no se moleste ( http://www.developers-paradise.com/wp-content/uploads/2016/05/05-Yaroslav-Rogoza-Magento-2-performance- comparación-en-diferentes-ambientes.pdf ).

Actualmente, debido a que magento2 usa requirejs (2mb de js), http2 tampoco hace ninguna diferencia.

Claudiu Creanga
fuente
También estoy sufriendo un desarrollo lento en la PC con Windows local. Según su experiencia, ¿sería mejor para mí comenzar el desarrollo local en Ubuntu o Linux Mint? y que configuración me recomiendan
Jai
@Jai lo siento, no tengo experiencia con Mint. Yo uso mac y ubuntu.
Claudiu Creanga
Señor ... ¿Puedo esperar una buena velocidad de desarrollo de magento 2 ... si uso Vagrant en mi ventana 7 (i5 + 12Gb Ram) O debería ir a ubuntu con esta configuración del sistema porque la ventana es frustrante lento en el desarrollo
Jai
1
@Jai Windows está bien. Debes apuntar durante 2-3 segundos a la actualización en modo desarrollador con algunas de las memorias caché activadas. verifique qué tan rápido es este github.com/alankent/docker-gsd en su computadora y apunte a esa velocidad. para vagabundo recomiendo hypernode packagist.org/packages/byteinternet/hypernode-vagrant
Claudiu Creanga
Gracias por tu sugerencia. Implementaré tu recomendación y ¿crees que el desarrollo de magento se puede hacer rápidamente en ubuntu y Mac en comparación con Windows?
Jai
7

Dependiendo del tipo de desarrollo que planee hacer, es posible que el cambio a la compilación css del lado del cliente mejore significativamente la velocidad de los sitios de desarrollo

Tiendas> Configuración> Avanzado> Desarrollador> Flujo de trabajo de desarrollo front-end

Cambiar al lado del cliente menos compilación

bjornredemption
fuente
Esta configuración parece haberse movido en Magento 2.2. ¿Alguna sugerencia sobre dónde encontrarla ahora?
fritzmg
1
docs.magento.com/m2/ee/user_guide/system/… Comprobaría si su sitio está en modo Desarrollador ya que no es visible si no es así
bjornredemption
Sí, no estaba en modo desarrollador, gracias :)
fritzmg
0

También asegúrese de que la fusión de JS / CSS esté deshabilitada cuando en el modo desarrollador esto realmente afecta el rendimiento, las pruebas muestran que las velocidades pueden caer de 20-30 segundos a 2 - 3 segundos.

Puede parecer obvio hacer esto en modo desarrollador, pero si se pierde puede conducir a un entorno increíblemente lento, ya que copié un entorno de producción para desarrollarlo y lo perdí por un tiempo.

Actualizar

Esto parece ser un problema que me estaba afectando en 2.1.7 a 2.1.9 y parece estar solucionado en Magento 2.2.X

harri
fuente
Esta información parece incorrecta. La velocidad no debe caer con la fusión
ladle3000 el
@ ladle3000 Además, realmente no querría fusionar y minimizar en el desarrollo, solo hace que sea más difícil ver qué archivos deben cambiarse para las modificaciones CSS / JS de todos modos.
harri
Veo tus puntos. Creo que quizás porque migré directamente a 2.2 nunca me enfrenté a esto. ¿En qué versión estás?
ladle3000
Esto puede solucionarse ahora en 2.2.0, pero parece un paso adicional. Traté de probar esta mañana, pero cuando habilito en modo desarrollador parece que todavía está deshabilitado. Estoy en 2.2.3 ahora
harri
0

Deshabilite las siguientes memorias caché para que no necesite ejecutar los comandos de la CLI para borrar la memoria caché.

CONFIG
LAYOUT_GENERAL_CACHE_TAG
BLOCK_HTML
FPC
rupi
fuente
0

La razón principal por la cual magento2 es lento en modo desarrollador está relacionada con miles de archivos estáticos y compilados generados sobre la marcha.

Hay 3 soluciones para esto:

  • Montar todo el directorio con NFS (SSD sigue siendo obligatorio).

  • Monte solo el directorio de la aplicación (sea cual sea su hardware, funcionará bien) pero pierde el acceso al directorio / vendor en su máquina host.

  • Monte todo el proyecto con rsync y excluya directorios donde se generan archivos (pub / static, generado / code, etc.).

Puedes probarlo aquí: https://github.com/zepgram/magento2-fast-vm/

Benjamin Calef
fuente
0

Opcache da un impulso importante al rendimiento, simplemente no olvide habilitar la validación de marca de tiempo para evitar actualizar la memoria caché al modificar archivos

opcache.validate_timestamps = On
Choussamaster
fuente
-4

Para aumentar la velocidad de la tienda Magento 2, siga estos pasos:

  • Primero, asegúrese de haber cumplido todos los requisitos del sistema y del servidor.
  • Actualice el Magento a su última versión.
  • Habilitado el caché de barniz
  • Habilitado las categorías planas y productos -Optimizar imagen, Javascript y CSS
  • Configurar CDN
  • Utilice siempre extensiones libres de errores y un tema ligero.
Syed Muneeb Ul Hasan
fuente