Magento 2 - Tempo de carregamento pesado (muitos arquivos js)

8

Atualmente, estou trabalhando no Magento 2 e notei que o tempo de carregamento de todas as páginas é extremamente alto.

No momento, estou executando o Xampp, modo de produção ativado, HTML / js / CSS são mesclados e minificados, o Varnish está desativado e não o utilizarei, pois minha hospedagem não pode instalá-lo no meu servidor, pois isso interfere no alguns scripts. Eu uso um tema personalizado cujo pai é o tema em branco do Magento 2. Depois de alterar minhas configurações, reimplantei os arquivos estáticos e esvaziei o cache.

Minha principal preocupação é que, quando olho para o painel de rede, vejo uma enorme quantidade de arquivos js sempre carregados. Por exemplo, na minha página de categoria, 122 arquivos js são carregados, o que eu achei bastante, para um tamanho total de 955 ko.

Testei-o no meu servidor sem a fusão e a minificação, mas como disse acima, acho que o problema está na quantidade de arquivos carregados, porque mesmo que ele carregue mais rápido, ainda é muito longo e no processo de checkout é ainda pior.

Eu tentei a opção de agrupamento, mas ele gera um arquivo js de 8 MB, o que é pior.

Perdi alguma coisa ou é algo normal que a quantidade de arquivos js seja grande? O verniz é obrigatório para um bom desempenho e existe uma alternativa para ele?

Eu sou bastante novo no Magento 2, portanto, se você precisar de mais informações, ficarei feliz em fornecê-lo.

Tonani
fonte
Isso é comum no Magento 2, com 120 ou mais de 150 scripts carregados. Você sempre pode mesclar e reduzi-los em um arquivo. Mas verifique se você está usando HTTP1 ou HTTP2 em seu servidor. Se o HTTP2 estiver ativado, ter scripts de 120 ou mesmo 150 js carregados de forma assíncrona não será um problema devido ao funcionamento do HTTP2. O HTTP2 se sai melhor com vários arquivos menores carregados ao mesmo tempo, do que ter que carregar um arquivo js minificado combinado grande. Mas sinto sua dor, Magento 2 é uma grande dor de cabeça para se trabalhar em comparação com Magento 1. Mas sinto que Magento 2 ainda está lento!
Jonathan Marzullo 23/10

Respostas:

3

A quantidade de JS é enorme, mas se somar 8 MB, há algo errado. Você deve usar a configuração "Agrupar" no modo de produção, se não quiser que mais de 100 arquivos sejam carregados.

Com o tema Luma padrão, empacotamento, mesclagem e minificação ativados, o arquivo JS empacotado é de 1,9 MB.

O verniz é outro tópico e não ajudará no desempenho dos arquivos estáticos gerados.

Fabian Schmengler
fonte
Foi o que eu fiz e gera um arquivo js 8mo. Existe uma configuração específica a ser feita em relação ao empacotamento, além de ativá-lo no administrador? Lavei e limpei o cache depois.
precisa
Você tem que ativar o modo de produção, arquivos estáticos reimplantar e liberar o cache, mas eu acho que você já fez isso
Fabian Schmengler
Sim eu fiz. Talvez haja algo errado com o tema em branco.
Tonani
Eu estava tendo problemas semelhantes, no entanto, sinto que o pacote teve um problema em algum momento e agora está corrigido. No entanto, eu usei este seoptimer.com e isso ainda mostra que meu site possui um JS enorme de cerca de 5 MB quando o DevTools mostra 1,5 MB na guia de rede do JS na página do produto. Este site está errado?
quer
1

Eu também sou bastante novo no Magento 2, mas até agora, tanto no magento 1 quanto no 2, tivemos que habilitar o cache para obter qualquer coisa que tivesse qualquer velocidade. A quantidade de js é enorme, portanto o armazenamento em cache é seu melhor amigo. Você pode habilitar o cache executando php bin / magento cache: enable. Se você estiver com o cache ativado, precisará liberá-lo após fazer alterações usando o php bin / magento cache: flush. O cache do Magento 2 está disponível, mesmo sem o Vanish.

Zach L
fonte
0

É realmente surpreendente que esse problema seja real para o Magento 2 em 2020. O empacotamento não agrupa 90% dos arquivos (como descrito aqui )

Js merge, por outro lado, mescla tudo em um mega-pacote super pesado.

No entanto, apesar de não poder ser resolvido com o Magento padrão, aqui está uma extensão paga que melhora muito o comportamento acima mencionado: otimização da velocidade da página do Google

Evgeni Obukhovsky
fonte