Dicas e Soluções

Magento 2 lento? 10 testes antes de aumentar o servidor

Especialista analisando a lentidão de uma loja Magento em ambiente de servidores

Magento 2 lento? 10 testes antes de aumentar o servidor

Quando o Magento 2 está lento, aumentar CPU e memória pode parecer a solução mais rápida. Entretanto, o gargalo também pode estar no banco de dados, PHP-FPM, cache, busca, tarefas agendadas, integrações ou código personalizado. Sem medir cada camada, a equipe corre o risco de ampliar o servidor e manter exatamente o mesmo problema.

Antes de limpar todos os caches ou reiniciar serviços, registre quando a lentidão começou, quais páginas foram afetadas e se houve deploy, importação ou mudança de configuração. Os dez testes abaixo ajudam a sair do diagnóstico por tentativa e erro.

Magento 2 lento: primeiro defina onde está o problema

“A loja está lenta” é uma descrição ampla. O catálogo pode demorar enquanto o checkout permanece normal; o frontend pode responder bem, mas o Admin ficar quase inutilizável. Também é possível que apenas usuários autenticados, determinada loja ou uma forma de pagamento sejam afetados.

Monte uma amostra com URLs e operações representativas:

  • home, categoria e página de produto;
  • busca e aplicação de filtros;
  • carrinho e cálculo de frete;
  • checkout e criação do pedido;
  • grade de pedidos e edição de produtos no Admin;
  • requisições REST ou GraphQL usadas por integrações.

Registre horário, usuário, dispositivo e duração aproximada. Essa separação ajuda a identificar se o problema é geral ou está ligado a uma funcionalidade específica.

1. Meça o tempo até o primeiro byte

O tempo até o primeiro byte, ou TTFB, ajuda a distinguir uma resposta lenta do servidor de uma página que demora para terminar no navegador. Um teste simples pode registrar conexão, início da resposta e tempo total:

curl -s -o /dev/null -w 'connect: %{time_connect}nstarttransfer: %{time_starttransfer}ntotal: %{time_total}n' https://exemplo.com.br/

Repita o teste algumas vezes e compare páginas equivalentes. Se o início da resposta demora, investigue aplicação, cache, banco e infraestrutura. Se o servidor responde rapidamente, mas a página termina tarde, examine imagens, JavaScript, fontes, recursos externos e execução no navegador.

2. Compare páginas cacheáveis e não cacheáveis

Teste uma categoria ou produto como visitante e compare com carrinho, conta do cliente e checkout. Páginas públicas normalmente têm mais oportunidades de utilizar o cache de página, enquanto áreas personalizadas exigem processamento adicional.

Inspecione os cabeçalhos HTTP sem concluir que todo MISS representa falha. A primeira visita, uma invalidação ou determinados cookies podem explicar o resultado. Se as páginas públicas nunca reaproveitam cache, siga o roteiro sobre Varnish no Magento 2 sem HIT.

3. Confirme modo de operação e estado dos caches

Verifique o modo atual e os tipos de cache antes de alterar qualquer coisa:

php bin/magento deploy:mode:show
php bin/magento cache:status

Uma loja ativa não deve permanecer inadvertidamente em modo de desenvolvimento. Também procure caches desabilitados sem justificativa técnica. Não use cache:flush como teste inicial: a limpeza pode aumentar temporariamente o trabalho do PHP e esconder a condição que deveria ser investigada.

4. Observe CPU, memória, disco e processos PHP

Analise os recursos durante o período da lentidão, não apenas depois que o tráfego diminuiu. Comandos como top, free -m, df -h e df -i ajudam a encontrar pressão de CPU, falta de memória, volume cheio ou esgotamento de inodes.

No PHP-FPM, procure filas, processos ocupados e encerramentos por limite. Muitos processos em execução não comprovam falta de servidor: eles podem estar aguardando banco, Redis, busca ou uma API externa. Correlacione métricas com os logs do PHP-FPM e do servidor web.

5. Verifique se o Redis virou ponto de espera

Quando o Redis atende cache ou sessões, latência, conexões esgotadas e pressão de memória podem afetar várias áreas da loja. Confirme no app/etc/env.php quais funções utilizam o serviço e se bancos lógicos ou instâncias são compartilhados por aplicações diferentes.

Não reinicie nem execute limpeza ampla antes de coletar informações. O guia de diagnóstico para Redis lento no Magento 2 mostra como separar problemas de aplicação, rede e capacidade.

6. Procure consultas lentas e contenção no banco

O banco pode responder bem na maior parte do tempo e degradar somente durante importações, relatórios ou atualizações em massa. Observe conexões ativas, consultas demoradas, bloqueios, uso de CPU, leitura de disco e crescimento de tabelas.

O log de consultas lentas, quando habilitado e administrado pela equipe de infraestrutura, oferece evidências melhores do que escolher tabelas para limpar. Não exclua registros nem adicione índices diretamente em produção sem validar o impacto e a compatibilidade com o esquema da aplicação.

7. Confira indexadores e tarefas agendadas

Indexadores pendentes podem deixar dados comerciais desatualizados e gerar processamento extra. Consulte o estado sem iniciar imediatamente uma reindexação completa:

php bin/magento indexer:status
php bin/magento indexer:show-mode

Verifique também se há tarefas acumuladas ou repetidamente marcadas com erro. Um cron interrompido pode concentrar trabalho quando volta a funcionar. Se houver suspeita nessa camada, use os testes para recuperar o cron do Magento 2 sem apagar evidências.

8. Teste OpenSearch e recursos de catálogo

Busca, filtros e determinadas operações de catálogo dependem do mecanismo de pesquisa. Compare o tempo da home com resultados de busca e categorias com navegação em camadas. Se apenas essas páginas estiverem lentas, examine a saúde do cluster, filas, uso de memória, espaço em disco e latência entre Magento e OpenSearch.

Evite recriar índices ou reiniciar o cluster como primeira ação. Antes disso, registre erros de conexão, timeouts e o comportamento dos nós. Em ambientes gerenciados, solicite essas informações ao provedor responsável.

9. Isole extensões, integrações e chamadas externas

Gateways, cálculo de frete, antifraude, ERP e outras integrações podem acrescentar espera a uma requisição. Use logs e rastreamento de aplicação para descobrir quais chamadas acontecem no caminho lento. Um checkout demorado, por exemplo, não significa necessariamente que o módulo visual do checkout seja o responsável.

Não desative módulos arbitrariamente na loja ativa. Reproduza a operação em homologação, preserve as mesmas dependências relevantes e compare o comportamento com a customização habilitada e desabilitada. Observe ainda plugins, observers e preferências executados em áreas muito acessadas.

10. Compare o desempenho antes e depois de cada mudança

Altere apenas uma variável por vez. Para cada correção, repita as mesmas URLs, usuários e operações usadas na medição inicial. Registre TTFB, tempo total, consumo de recursos e erros apresentados.

Essa disciplina evita atribuir uma melhora ao ajuste errado. Também facilita a reversão se a alteração prejudicar checkout, sessões, cache ou integrações. Em produção, prefira uma janela controlada e tenha procedimento de rollback preparado.

O que não fazer quando o Magento 2 está lento

  • reiniciar todos os serviços sem coletar logs e métricas;
  • limpar cache repetidamente para tentar obter uma resposta melhor;
  • reindexar tudo durante um pico de acesso sem avaliar o custo;
  • apagar tabelas de cron, logs ou filas para esconder o acúmulo;
  • aumentar o servidor antes de descobrir qual recurso está saturado;
  • testar alterações diretamente na loja ativa sem plano de reversão.

Conclusão

Um Magento 2 lento precisa ser investigado por camadas: navegador, cache, PHP, Redis, banco, busca, cron e integrações. Medir primeiro permite corrigir a causa em vez de apenas deslocar o gargalo ou elevar o custo da infraestrutura.

Se a lentidão continua sem uma origem clara, uma análise técnica pode correlacionar logs, métricas e comportamento da aplicação. A equipe do SuporteMagento.com.br pode apoiar o diagnóstico e a preparação de um plano de correção adequado à operação da loja.

Perguntas frequentes sobre Magento 2 lento

Limpar o cache resolve a lentidão do Magento 2?

Pode resolver um cache inconsistente, mas não corrige falta de recursos, consultas lentas, falhas no Redis ou chamadas externas demoradas. Limpezas repetidas ainda podem elevar o processamento necessário para reconstruir os caches.

Mais memória e CPU sempre deixam o Magento mais rápido?

Não. Mais recursos ajudam quando existe saturação comprovada, mas não eliminam bloqueios no banco, latência de rede, código ineficiente ou dependências externas. O dimensionamento deve ser baseado em métricas.

Por que somente o checkout fica lento?

O checkout reúne cálculos de totais, frete, pagamento, estoque e integrações. O diagnóstico deve medir cada etapa e identificar qual requisição ou serviço concentra a espera.

É seguro reindexar a loja durante a lentidão?

Depende do volume, do indexador e da capacidade do ambiente. Uma reindexação completa pode aumentar o uso de banco, CPU e disco. Primeiro consulte o estado dos indexadores e planeje a execução em uma janela controlada.