fbpx

Magento muito lento, como melhorar a velocidade e performance ?

Compartilhar no facebook
Facebook
Compartilhar no twitter
Twitter
Compartilhar no linkedin
LinkedIn
Compartilhar no google
Google+
Compartilhar no whatsapp
WhatsApp
Compartilhar no email
Email
Compartilhar no telegram
Telegram

Lentidão e Problemas de performance em Lojas Magento

O Magento é uma das plataformas para e-commerce mais robustas e completas que possamos encontrar no mercado. Aqui no Brasil empresas como Riachuelo, Evoke, Saraiva, Melissa, Samsung, Nike e outros grandes players utilizam essa plataforma.

Dica

Lojistas de todo porte podem migrar ou desenvolver seu e-commerce usando a plataforma do Magento! No entanto, devem ter um carinho especial quanto a qualidade da hospedagem. Uma vez que o Magento precisa de muitos recursos a nível de servidor para que a loja tenha um desempenho de qualidade.

Logo no início quando colocamos uma loja magento em produção é muito comum notarmos rapidamente o surgimento de problemas de performance. E sabemos que possuir uma loja lenta significa que nossas vendas vão cair e muito! Muitos lojistas possuem um modelo de hospedagem que não foi otimizado e preparado para lojas magento e esse é um grande problema.

Problemas clássicos em lojas magento como: lentidão exagerada, carregamento demorado, lentidão no cadastro de produtos, lentidão no carrinho, erros 500, problemas de conexão com o banco de dados, a grande maioria se dá pela má qualidade da hospedagem.

Felizmente existem inúmeras formas de otimizar uma loja magento, seja a nível de código, seja a nível de infraestrutura.

Nesse artigo irei falar um pouco das principais tarefas em otimização que podem ser feitas em uma loja magento, seguindo a minha experiência com a plataforma.

Otimização de Loja Magento

Confira a partir de agora um checklist de tarefas que podemos realizar para otimizar e melhorar a velocidade de lojas magento. Algumas tarefas podem ser feitas com um nível básico de conhecimento, outras vai exigir que você entenda mais a fundo de administração de servidores.

Caso se depare com uma tarefa complexa, recomendo que contrate um programador que tenha experiência no código do magento e um outro profissional que tenha experiência em servidores Magento. (Estranho quem diz que é especialista nos dois) mas ok.

A maioria dos ajustes técnicos que recomendo abaixo, só podem ser realizados se você tiver uma hospedagem que permita isso, caso contrário não terá como.

Requisitos Magento 2x

Antes de pensar em otimizar sua loja magento ou até mesmo realizar ajustes no servidor, a primeira coisa que deve fazer é verificar se o seu ambiente de hospedagem atual está em conformidade com a versão da sua loja magento.

Sendo assim, procure levantar todas as informações como: versão do banco de dados, versão do PHP que está ativo, versão do webserver, versão composer etc. Pois muitos problema são causados por conflitos de versões de software, e você não pode dar esse mole.

requisitos magento alexjunio 1

Otimização do Servidor Magento (VPS ou Dedicado)

O tipo de servidor e hardware onde está hospedado sua loja magento pode influenciar completamente a performance. Logo no processo de contratação do servidor ou hospedagem, você deve ficar atento se o servidor possui as características abaixo.

  • Disco SSD ou Disco NVMe

Discos SSD ou NVMe são fundamentais para nosso servidor. Ter um disco rápido, com altas taxas de leitura/escrita faz total diferença quando temos muitos acessos simultâneos.

O banco de dados, e tarefas onde vai ser inserido ou lido algum arquivo no disco, tende a ser muito mais rápido. Ao contrário de um servidor com HD Sata, onde a taxa de leitura e escrita são ridículos para nosso propósito.

Em média um disco HD Sata possui uma taxa de 50mb/s de leitura e 100mb/s de escrita. Um disco SSD chega na casa dos 200mb/s de leitura e 500mb/s para gravação em média. Discos NVMe trabalham com 3Gb/s tanto leitura como escrita .

  • Processador

Não vou entrar no mérito de modelos de processadores e suas arquiteturas. Mas de modo geral, processadores com pelo menos 4 Núcleos de CPU já é um ótimo começo. O ambiente terá menos gargalos para processar todos os processos do ambiente. Principalmente em lojas de pequeno para médio porte.

  • Rede

A rede do servidor também é algo que devemos levar em consideração, e quando me refiro a rede estou falando da quantidade em MB ou GB que o servidor consegue realizar em download e upload de dados.

Ter um servidor com uma rede de internet muito pequena vai te limitar muito e principalmente quando houver muitos acessos de usuários, pois a rede do servidor pode simplesmente “travar” e parar de responder.

No geral, redes a partir de 250mb/s de upload e download, é um ótimo início! Menos do que isso só compensa ter em ambientes de desenvolvimento e homologação.

Mas cuidado! Servidores no brasil é um pouco mais complicado, temos uma internet ruim! 100mb podem significar menos que 60mb muitas vezes. Pesquise muito!

Otimização do PHP no Servidor

O PHP é uma das peças chaves na otimização de lojas magento. Para que sua loja trabalhe com uma performance interessante é necessário que o PHP esteja otimizado e preparado para executar sua loja.

Antes de mais nada, verifique se o seu servidor possui todas as extensões que o magento tem como requisito para pleno funcionamento.

Requisitos do PHP: https://devdocs.magento.com/guides/v2.4/install-gde/prereq/php-settings.html

Eu digo que existem dois arquivos principais que devemos otimiza-los, no entanto, os valores dos parâmetros mudam de loja para loja, não existe um padrão. Cabe a você descobrir o que melhor se encaixa no seu perfil ou contratar alguém para isso.

php.ini

Os parâmetros abaixo seguem valores mínimos exigidos para que o magento 2 trabalhe bem! A maioria das lojas não tem esses valores mínimos configurados.

  • max_execution_time = 18000
  • max_input_time = 300
  • memory_limit = 2048M
  • precision = 14
  • output_buffering = 4096
  • zlib.output_compression = On
  • zlib.output_compression_level = -1
  • always_populate_raw_post_data = -1
  • realpath_cache_size = 10M
  • realpath_cache_ttl = 7200
  • date.timezone = America/Sao_Paulo

php-fpm.conf

O php-fpm é muito útil para acelerarmos a execução do nosso PHP, pois podemos personaliza-lo conforme nosso foco. Normalmente trabalho com o cenário abaixo (lojas pequenas), para que o PHP execute bem mas sem extrapolar muitos recursos do servidor.

  • pm = dynamic
  • pm.max_children = 20
  • pm.start_servers = 5
  • pm.min_spare_servers = 5
  • pm.max_spare_servers = 10
  • pm.max_requests = 1000

Para que essas configurações possam ser realizadas você terá que ser dono do servidor, caso contrário solicite a equipe de suporte do provedor que você contratou a possibilidade de ajustarem isso. Caso seu plano de hospedagem é compartilhado, é quase certeza que não farão.

Se você quer aprender um pouquinho sobre o php-fpm recomendo a leitura no blog: https://geekflare.com/php-fpm-optimization/

Otimizando as Imagens do Magento

Hoje em dia qualquer que seja o projeto, imagens devem estar otimizadas! Vejo muitos lojistas subirem artes e imagens sem nenhuma otimização, e isso impacta na experiência do usuário, principalmente para aqueles que acessam via mobile.

Dica

Quanto mais leve for uma imagem, mais rápida ela pode ser carregada quando um usuário acessar uma página da sua loja magento, melhorando assim a experiência do usuário e influenciando diretamente nas posições dos mecanismos de busca.

Existe algumas formas de otimização de imagens, confira abaixo.

  • Otimização de imagens manual

Esse é um processo manual, viável para lojas pequenas. Existe algumas ferramentas que você pode usar para otimizar as imagens antes de enviar para a sua hospedagem, como:

https://ezgif.com

https://tinypng.com/

https://compresspng.com/

  • Otimização via CDN

Esse é um modelo bem interessante, no entanto exige um certo nível de conhecimento técnico. CDN como CloudFlare, AWS CloudFront, Google Cloud CDN e outros, podem deixar tudo isso automatizado.

Quando usamos um CDN corretamente, o serviço do CDN é quem irá servir as imagens para o cliente. Desse modo, eles podem otimizar as imagens visando a melhor entrega desse conteúdo.

  • Otimização via Módulo

Também é possível comprar módulos que farão todo o processo de otimização das imagens que você fizer upload para sua loja magento ex:

https://www.mageplaza.com/magento-2-image-optimizer/

CDN para entrega de conteúdo

CDN normalmente é uma rede composta por milhares de servidores espalhados em diversas regiões de um pais ou até mesmo do mundo. Ele trabalha entregando conteúdo estático como: Imagens/vídeos, HTML, CSS e JS.

A grande vantagem em utilizar uma CDN está no fato de que as imagens e vários elementos da sua loja magento possam ser servidos pelo CDN e não mais pelo servidor, isso faz com que o usuário tenha uma leve sensação de mais performance, em muitos casos realmente aumenta de forma significativa.

Todos esses arquivos servidos pelo CDN costumam ter uma latência bem pequena, e novamente o usuário sente a loja mais rápida na abertura de categorias, produtos etc.

Como citado anteriormente, as melhores empresas de CDN são: CloudFlare, AWS CloudFront, Google Cloud CDN, MaxCDN e outras.

Habilite o Cache do Magento

Se sua loja está em produção o cache deve estar ativado para que você tenha mais performance. No magento 1.9x o processo pode ser feito diretamente pela tela administrativa, já no magento 2 é bem mais prático, você pode fazer pelo terminal.

Otimização HTML, JavaScript e CSS do Magento

Muitos softwares e sistemas web que avaliam a otimização do site como o Google Lighthouse, GTMetrix, Web.dev , dão uma nota com base em vários critérios. Um dos critérios que mais diminui sua nota é a falta de otimização em arquivos HTML,CSS e JavaScript. E claro, não é só uma nota, mas também é um parâmetro para sabermos se a otimização da nossa loja está legal.

Atenção

Antes de minificar arquivos de sua loja, realize um backup completo da sua loja magento.

A grosso modo, Minify é uma técnica que usamos para remover caracteres e espaços desnecessários em nosso código. De modo geral, o código ficará todo compactado, bem feio para ler mas muito rápido para ser processado pelo navegador e servidor.

O Magento 1 e Magento 2 oferecem nativamente suporte a Minificações. Recomendo as leituras abaixo para você aprender realizar e validar a minificação.

  • Minify Magento 1.9x
  • Minify Magento 2.x

Conclusão: Otimização Magento

Todo o processo de otimização de uma loja magento é delicado e envolve tanto o código da loja em si quanto a parte da infraestrutura onde a loja está sendo hospedada.

Não existe uma receita de bolo que eu possa generalizar e indicar para todos os casos, mas existem configurações e tarefas que podem acelerar qualquer projeto, como:

  • Escolher uma boa hospedagem Magento
  • Utilizar CDN
  • Manter módulos e Templetes Atualizados
  • Otimização de Imagens
  • Minificar CSS,HTML e JS

Lembre-se de realizar backups antes de realizar qualquer ação em sua loja magento! Mas sempre priorize a contratação de um bom profissional para trabalhar no seu código e um outro bom profissional para trabalhar no servidor.

Caso precise de consultoria e/ou suporte técnico entre em contato comigo.

Links úteis:

De uma nota para esse artigo.
[Total: 7 Total: 5]
Principais Categorias

Consultoria e Parcerias

Consultoria, gerenciamento e mentoria para serviços de Infraestrutura, DevOps e Hosting.

Entre em contato

5 comentários em “Magento muito lento, como melhorar a velocidade e performance ?”

  1. Muito boa noite,
    ao procurar ajuda na internet, relativamente ao meu site que está muito lento deparei-me com a sua informação relativamente á plataforma magento.
    Eu tenho um site magento 2.3.4 hospedado na A2 Hosting (Turbo Boost Web Hosting) que está muito lento, e procuro ajuda de um profissional que me resolva o problema no sentido de o tornar mais rápido.
    Caso tenha interesse agradeço o seu contato.

    1. Olá, obrigado! Você só vai conseguir se tiver acesso root ao servidor, mas de todo modo, aconselho estudar um pouco sobre PHP-FPM e configurações no php.ini antes de realizar qualquer alteração. Também deve saber trabalhar com o terminal linux! Abs

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Alex Junio 2021 - Todos os Direitos Reservados // CNPJ: 35.915.227/0001-41

Alex Junio