Como vimos aqui no Magenteiro, o Magento 2.4 trouxe uma série de melhorias de performance. Boa parte delas pelo simples fato de passar a suportar tecnologias mais recentes como PHP 7.4, MySQL 8 e ElasticSearch 7.
Mas será que vale a pena?
No Magento 2: O Curso você viu o que conseguimos fazer com um Magento 2.3 e 42 mil produtos em uma hospedagem de $10.
E com o 2.4? Será que melhora tanto assim?
Os testes
Minha primeira boa impressão se deu ao atualizar a loja demo do módulo PagSeguro para Magento 2. A sensação de performance tanto no ambiente local quanto em produção foi bem significativa.
Mas até então foi só uma sensação, sem muita comparação nem números para comparar.
Hoje enquanto escrevo este artigo, atualizarei a loja de estudos usada pelos alunos do Magenteiro.
Esta é a mesma loja usada no teste dos 42 mil produtos acima. Ela está hospedada em uma instância única de $10 na Digital Ocean e as configurações são pelo menos 50% inferior ao mínimo recomendável para uma loja em produção.
- 1 vCPU
- 2 GB Ram + 10 Gb Swap
- 50 GB Disco SSD
- Ubuntu Server 18.04 LTS
- Memory limit do PHP: 1G
- Opcache ativo
- Redis para sessao e cache
Durante os testes e atualizações o cron será desativado, e o acesso à loja será limitado apenas à ip’s específicos. Desta forma evitarei que os alunos do Magenteiro influenciem nos testes afetando a performance da loja.
Faremos os testes levando em consideração o tempo de carregamento de algumas páginas usando o Webpagetest.org, a partir de servidores localizados na mesma região.
O tempo exibido nos testes será o de carregamento total, e não do DOM Load, ou seja, na prática a percepção de carregamento do ponto de vista dos usuários é menor que os números informados aqui. Clique nos links para ver mais detalhes.
Testes com Magento 2.3
Antes de atualizar nossa loja para o Magento 2.4, e realizar outras mudanças, nossa loja de testes está desta forma:
- Magento 2.3.5 Open Source
- PHP 7.1.3
- Opcache ativo
- Banco de dados MariaDB 10.1
Outro ponto interessante a ser observado (com o cron ativo e os alunos acessando a loja) é o consumo de CPU. Os momentos de pico indicam os momentos que a loja é reiniciada (a cada 6 horas). Em geral, o consumo de está na casa dos 30%.
Vamos aos resultados atuais com Webpagetest.
Testes com Magento 2.4
Depois de tudo atualizado, eis o que temos aqui:
- Magento 2.4.0 Open Source
- PHP 7.4.8
- OpCache ativo
- Banco de dados MariaDB 10.4
- ElasticSearch 7.7
E os nossos primeiros resultados:
Ué? Só a busca melhorou?
Visualmente completo
Nos testes acima consideramos somente o que a ferramenta chama de Carregamento completo (Fully Loaded), que é medido do momento inicial da navegação até termos 2 segundos sem atividade de rede. Isso geralmente faz com que JavaScripts que são executados depois da página ter carregado afetem o resultado final.
No entanto, como usuários, entendemos que a página está completamente carregada quando todos os elementos visuais terminam de carregar. Aí a situação mudou um pouco.
Em todos os testes o Magento 2.4.0 se mostrou ligeiramente melhor que seu antecessor.
Conclusão
O Magento 2.4.0 (assim como toda nova versão) trouxe uma série de correções e melhorias de segurança que não podem ser ignoradas.
Embora o teste de performance acima não pareça nos dar grandes incentivos para migrar, é importante notar que:
- Testes de performance como este podem ser impactados por fatores externos de rede em ambos os lados. E isso geralmente acontece.
- Os testes foram feitos em diferentes horas do dia
- Atualizações de softwares como PHP trazem outros parâmetros de configuração que eventualmente podem ter sido negligenciados
- O servidor não atende aos requisitos recomendados para executar nenhuma das versões
- O ElasticSearch, Banco de Dados, RabbitMq e Redis estão todos na mesma instância, o que não é recomendável.
- Devemos levar em consideração as melhorias e correções de segurança.
Pessoalmente, a sensação de uma significativa melhora de performance foi evidente. Ou seja, apesar dos números acima não serem tão bons quanto gostaríamos, acredito que outros testes deveriam ser feitos.
No ambiente local de desenvolvimento, onde há menos variáveis de rede envolvidas, a melhoria se mostra mais significativa, em especial durante tarefas que envolvem manutenção de código.
De uma forma ou de outra, atualizações de segurança nunca devem ser ignoradas, mesmo que seja através dos patches de correção. Se não está convencido(a), veja o artigo hackeando uma loja magento 2 em segundos.
Quando migrar não esqueça de compartilhar seus resultados aqui nos comentários.
- PagSeguro (PagBank) para Magento 1 recebe a Nova Geração - 9 de abril de 2024
- Recorrência no WooCommerce Sem Plugins Pagos - 28 de janeiro de 2024
- Chargeback. O que é, e como se livrar deles. - 19 de dezembro de 2023
Deixe seu comentário
[fbcomments url="https://www.magenteiro.com/blog/magento-2/magento24-vs-23/"]