Neste artigo, vou apresentar alguns caminhos que você pode seguir para resolver problemas de otimização em lojas Magento 2, com foco na infraestrutura onde a loja está hospedada.
Este artigo é um guia e será atualizado constantemente.
Algumas das atividades pode exigir:
- Acesso SSH a hospedagem
- Acesso root ao servidor de hospedagem
- Conhecimentos básicos Linux
- Conhecimentos básicos sobre NGINX , PHP-FPM e MySQL
Antes de realizar qualquer atividade, faça um backup para evitar problemas mais sérios!
Principais problemas de desempenho e velocidade que temos com Magento 2
O Magento 2 é uma plataforma muito versátil e repleta de possibilidades. No entanto, se você está começando a trabalhar com a plataforma, provavelmente já notou alguns problemas de desempenho.
Problemas mais comuns magento 2:
- Problemas com alto uso de CPU
- Problemas com alto uso de RAM
- Problemas no carregamento da página, produtos, categorias
- Quedas após executar alguma ação em massa
- Quedas após fazer uploads de imagens
- Quedas após fazer importação de produtos
- Dificuldade em escalar
- Administração ou central do cliente lenta
- E muito mais..
Uma loja rápida traz resultados positivos, pois melhora o posicionamento nos mecanismos de busca (SEO) e aumenta consideravelmente as vendas e a satisfação do cliente, uma vez que ele consegue navegar na loja sem problemas de desempenho.
Dicas para melhorar a velocidade de lojas Magento 2
Não existe uma receita que possa ser replicada em toda e qualquer loja Magento 2. Melhorar a velocidade e o desempenho é realmente delicado, pois envolve código e infraestrutura.
Código ruim, malfeito e com bugs certamente impactará a performance da loja. Por outro lado, um servidor sem as devidas otimizações fará com que sua loja tenha uma velocidade terrível.
Este artigo servirá como um roadmap básico de tarefas que podem ser realizadas para maximizar a velocidade da sua loja Magento 2.
Planejando a Infraestrutura Ideal para o seu E-commerce Magento 2
Desde o início do desenvolvimento de uma loja virtual com Magento 2, é essencial alinhar a infraestrutura às expectativas e necessidades do negócio. A escolha da hospedagem deve considerar o volume esperado de acessos, o orçamento disponível e as projeções de crescimento da sua loja. Tomar essa decisão de forma estratégica pode impactar diretamente na velocidade do Magento 2, na experiência do usuário e, consequentemente, nas vendas.
Diferentes Caminhos para Diferentes Realidades
Se o seu e-commerce possui um budget reduzido e um tráfego mensal inicial modesto, é possível optar por soluções mais simples e acessíveis. No entanto, se você está planejando uma operação robusta, com alta expectativa de vendas e um fluxo constante de clientes, a escolha de uma infraestrutura mais avançada é indispensável.
Hospedagem Magento 2 para Pequeno Porte
Para lojas de pequeno porte, plataformas como Cloudways, Nexcess, Platform.sh, e Mgt-commerce podem atender bem às demandas iniciais. Esses provedores oferecem facilidade de configuração, recursos suficientes para tráfego moderado e preços acessíveis. No entanto, é importante priorizar soluções que ofereçam:
- Discos SSD ou NVMe para maior desempenho no carregamento de páginas;
- Mais de 4GB de memória RAM para garantir estabilidade;
- Processadores com mais de 2 núcleos para suportar requisições simultâneas;
- Acesso SSH, essencial para manutenção técnica avançada.
Hospedagem Magento 2 para Médio e Grande Porte
Se o seu e-commerce demanda maior poder de processamento, cloud providers como Amazon AWS, Google Cloud e DigitalOcean são as melhores escolhas. Essas plataformas oferecem infraestrutura escalável, alta disponibilidade e suporte a um tráfego mais intenso. Porém, para aproveitar ao máximo o potencial dessas soluções, é recomendável trabalhar com um parceiro especializado em hospedagem Magento 2.
A configuração da infraestrutura na nuvem exige conhecimento técnico para otimizar o ambiente com:
- Load Balancers para dividir o tráfego entre servidores web;
- CDNs (Content Delivery Networks) para aumentar a velocidade de carregamento em diferentes localidades;
- Banco de Dados Gerenciado, como MySQL ou MariaDB, com índices ajustados para o Magento 2;
- Redis Cache: Para cache de backend e de sessão
- Varnish Cache: Para cache de página (opcional)
- Monitoramento Contínuo, garantindo estabilidade e desempenho.
A Importância de Escolher Certo
Independentemente do porte do seu e-commerce, investir em uma hospedagem adequada ao Magento 2 é fundamental para garantir velocidade, escalabilidade e segurança. Um ambiente mal configurado pode resultar em lentidão, interrupções e uma experiência de compra negativa para os clientes. Planeje sua infraestrutura com foco nas expectativas do negócio e conte com especialistas para garantir o melhor desempenho para sua loja virtual.
Agora, siga algumas dicas técnicas do que fazer em servidores web magento 2.
Otimizações Web Server Magento 2
Se você tem controle administrativo a seu servidor de hospedagem magento 2, você pode realizar uma série de customizações e otimizações. Mas é muito importante que saiba o básico sobre linux e os softwares abaixo.
Otimizando o Nginx
Muitas instalações Nginx estão com os parâmetros default, e isso impacta diretamente na velocidade e capacidade de atender as requisições dos clientes.
No nginx vamos otimizar dois arquivos importantes que são: nginx.conf e os server blocks “virtualhost” configurado.
O arquivo nginx.conf é um arquivo de texto que contém uma série de diretivas de configuração do NGINX. Cada diretiva é composta por um nome e um valor, e elas são usadas para configurar vários aspectos do funcionamento do NGINX. Algumas diretivas são aplicáveis ao NGINX como um todo, enquanto outras só são aplicáveis a um determinado contexto, como um servidor virtual ou uma localização.
nginx.conf https://github.com/alejunio/guia-otimizacoes-magento2/blob/main/Nginx/nginx.conf
Os “server blocks” são uma das principais funcionalidades do NGINX que permitem que você configure vários sites diferentes em um único servidor. Eles funcionam de maneira semelhante aos virtual hosts do Apache, permitindo que você atribua um conjunto de configurações a cada site.
Server Blocks: https://github.com/alejunio/guia-otimizacoes-magento2/blob/main/Nginx/m2.conf
Otimizando o PHP-FPM e PHP.INI do Magento
PHP-FPM (FastCGI Process Manager) é um módulo de gerenciamento de processos para o PHP. Isso pode ajudar a melhorar o desempenho e a escalabilidade do site PHP. A grosso modo, o PHP-FPM permite que você gerencie de forma mais eficiente os processos PHP, incluindo a possibilidade de limitar o número de processos PHP em execução e o uso de memória.
A não otimização do PHP-FPM pode ocasionar sérios problemas de CPU e Memória no Magento 2.
- www-conf: https://github.com/alejunio/guia-otimizacoes-magento2/blob/main/PHP/www.conf
- php.ini *execute todos os comandos sed*: https://github.com/alejunio/guia-otimizacoes-magento2/blob/main/PHP/php.ini
Banco de Dados MySQL
Muitas lojas Magento 2 sofrem com o banco de dados, principalmente pelo alto número de SKUs e informações que o banco armazena. Algumas tarefas praticamente fazem o consumo da CPU bater 100% ocasionando o travamento do banco de dados e da máquina.
Existem algumas coisas que você pode fazer para otimizar o MySQL para o Magento 2.
- Utilizar a versão mais recente do MySQL compatível com o Magento 2
- Ativar o cache de querye: Acelera e otimiza as consultas ao banco (se aplicável)
- Otimizar o esquema do banco de dados
- Utilizar o cache de página com Redis ou Varnish, pois eliminará muitas consultas ao banco de dados.
Otimização do my.cnf
Veja uma sugestão de arquivo my.cnf semi otimizado para banco de dados MySQL 8. Isso não garante que todos os problemas serão resolvidos, uma vez que precisa ser reajustado para cada realidade de servidor com base na RAM existente.
https://github.com/alejunio/guia-otimizacoes-magento2/blob/main/MySQL/my.cnf
Banco de dados Externo
Se mesmo após otimizar o banco de dados local, os problemas de desempenho com o banco de dados persistirem, a solução vai ser implementar um servidor de banco de dados externo.
Quando você implementa um banco de dados externo, você distribui a responsabilidade e carga do ambiente. Imagine ter um servidor exclusivo somente para o banco de dados, e agora imagine o servidor atual que contém todos os softwares consumindo recursos ao mesmo tempo.
Migrar o banco para outro local será a solução de muitos problemas e gargalos.
Cache de Página e Sessão com Redis
Redis é um banco de dados de chave-valor de código aberto. Ele é usado como um cache para acelerar aplicações e também como um banco de dados de alta performance para armazenar dados estruturados.
Cachear dados de frontend ou backend do Magento 2 utilizando o Redis, vai acelerar o tempo de carregamento e nos trazer muito poder de performance.
Para utilizar esse serviço você precisa ter o Redis instalado no seu servidor. Se você já possui o Redis, basta habilita-lo. Em algumas lojas Magento 2 acabamos implementando o Redis em servidores externos ou usando tecnologias como o AWS Elasticache.
Cache de Backend e Full Page Cache Magento 2
O cache de backend no Magento 2 pode trazer vários benefícios, incluindo: melhoria no desempenho do sistema, redução do tempo de carregamento da página e redução da carga do servidor.
Para habilitar o cache pelo terminal com o Redis no Magento 2 acesse o terminal e vá para a pasta raiz do seu site Magento 2.
Rode os comandos abaixo:
php bin/magento setup:config:set --page-cache=redis --page-cache-redis-server=127.0.0.1 --page-cache-redis-db=1
php bin/magento setup:config:set --cache-backend=redis --cache-backend-redis-server=127.0.0.1 --cache-backend-redis-db=2
php bin/magento cache:clean
php bin/magento cache:flush
Agora o Redis está cacheando o backend do seu magento 2.
Cache de Sessão
O cache de sessão é um tipo de cache que armazena a sessão dos usuários para que possam ser recuperados rapidamente sem que a requisição atinja ou consuma recursos do banco de dados.
Para habilitar o cache de sessão com o Redis no Magento 2 pelo terminal, execute os comandos abaixo:
php bin/magento setup:config:set --session-save-redis-db=4
Conclusão: Otimização Magento 2
A otimização da hospedagem Magento 2 é um fator crucial para o sucesso de um e-commerce. Uma loja virtual lenta pode resultar em altas taxas de abandono, prejudicando tanto a experiência do cliente quanto o ranqueamento em motores de busca como o Google.
Investir em técnicas de otimização, como o uso de caching eficiente, compressão de arquivos estáticos e configuração de servidores adequados, garante que o site carregue rapidamente, mesmo sob altas demandas de tráfego. Além disso, ambientes otimizados reduzem o consumo de recursos, melhoram a estabilidade e permitem que sua loja escale com facilidade conforme o crescimento do negócio, entregando sempre um desempenho superior aos usuários.
5 Comentários
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.
Olá Jose, enviei um e-mail para você.
Obrigado, me deu um norte enorme.
Obrigado pelo conteúdo. Na guia: “Otimização do PHP no Servidor”, não tenho a mínima ideia do que fazer.
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