Magento 2: tiempo de carga pesado (demasiados archivos js)

8

Actualmente estoy trabajando en Magento 2 y noté que los tiempos de carga para todas las páginas son extremadamente altos.

Estoy corriendo en Xampp en este momento, el modo de producción habilitado, HTML / js / CSS se fusionan y minimizan, Varnish está deshabilitado y no lo usaré ya que mi alojamiento web no puede instalarlo en mi servidor porque interferirá con Algunos guiones. Utilizo un tema personalizado cuyo padre es el tema en blanco de Magento 2. Después de cambiar mi configuración, volví a desplegar los archivos estáticos y vacié el caché.

Mi principal preocupación es que cuando miro el panel de red veo que se carga una gran cantidad de archivos js cada vez. Por ejemplo, en mi página de categoría, se cargan 122 archivos js que encontré que son bastante, para un tamaño total de 955 ko.

Lo probé en mi servidor sin la fusión y la minificación, pero como dije anteriormente, creo que el problema radica en la cantidad de archivos cargados porque incluso si se carga más rápido, todavía es demasiado largo y el proceso de pago es aún peor.

Intenté la opción de agrupamiento pero genera un archivo js de 8 MB que es peor.

¿Me perdí algo o es algo normal que la cantidad de archivos js sea tanto? ¿Varnish es obligatorio para un buen rendimiento y existe una alternativa?

Soy bastante nuevo en Magento 2, por lo que si necesita más información, estaremos encantados de proporcionarle.

Tonani
fuente
Esto es común con Magento 2, para tener 120 o incluso más de 150 scripts cargados. Siempre puede fusionarlos y minimizarlos en un solo archivo. Pero solo asegúrese de estar usando HTTP1 o HTTP2 en su servidor. Si tiene HTTP2 habilitado, entonces tener 120 o incluso 150 scripts js cargados de forma asincrónica no será un problema debido a cómo funciona HTTP2. HTTP2 funciona mejor con varios archivos más pequeños cargados a la vez, que tener que cargar un gran archivo js minificado combinado. Pero siento tu dolor, Magento 2 es un gran dolor de cabeza para trabajar en comparación con Magento 1. ¡Pero siento que Magento 2 sigue siendo lento!
Jonathan Marzullo

Respuestas:

3

La cantidad de JS es enorme, pero si suma hasta 8 MB hay algo mal. Debería usar la configuración "Bundling" en modo de producción si no desea cargar> 100 archivos.

Con el tema predeterminado de Luma, agrupación, fusión y minificación habilitado, el archivo JS incluido es 1.9MB.

El barniz es otro tema y no ayudará con el rendimiento de los archivos estáticos generados.

Fabian Schmengler
fuente
Eso es lo que hice y genera un archivo 8mo js. ¿Hay una configuración específica que hacer con respecto a la agrupación además de activarlo en el administrador? Me sonrojé y limpié el caché después.
Tonani
Tienes que activar el modo de producción,
volver a implementar
Sí, lo hice. Tal vez hay algo mal con el tema en blanco.
Tonani
Estaba teniendo problemas similares, sin embargo, siento que la agrupación tuvo un problema en algún momento y ahora está solucionado. Sin embargo, utilicé este seoptimer.com y esto todavía muestra que mi sitio tiene un gran JS de alrededor de 5 MB cuando DevTools muestra 1,5 MB dentro de la pestaña de red para el JS en la página del producto. ¿Es este sitio simplemente incorrecto?
harri
1

También soy bastante nuevo en Magento 2, pero hasta ahora con magento 1 y 2, hemos tenido que habilitar el almacenamiento en caché para obtener cualquier cosa que tenga algún tipo de velocidad. La cantidad de js es enorme, por lo que el almacenamiento en caché es tu mejor amigo. Puede habilitar el almacenamiento en caché ejecutando php bin / magento cache: enable. Si tiene el almacenamiento en caché, tendrá que vaciarlo después de hacer cambios usando php bin / magento cache: flush. El almacenamiento en caché integrado de Magento 2 está disponible, incluso sin Vanish.

Zach L
fuente
0

Es realmente sorprendente que este problema sea real para Magento 2 en 2020. La agrupación no agrupa el 90% de los archivos (como se describe aquí )

Js merge, por otro lado, fusiona todo en un megapaquete superpesado.

Sin embargo, a pesar de que no se pudo resolver con Magento predeterminado, aquí hay una extensión paga que mejora mucho el comportamiento mencionado anteriormente: optimización de la velocidad de la página de Google

Evgeni Obukhovsky
fuente