5 dicas essenciais para melhorar seu Magento TTFB

Publicados: 2019-01-08

Este é um post convidado por Vasili Nikolaev.

O tempo até o primeiro byte (TTFB) é uma das métricas de velocidade mais importantes de um site. Ele indica quanto tempo passará depois que um usuário entrar na URL da sua loja Magento e o tempo em que ele receberá qualquer resposta, mesmo tão pequena quanto 1 byte (daí o nome, “tempo para o primeiro byte”).

O tempo para o primeiro byte é vital tanto para humanos (eles não gostam de esperar) quanto para robôs de mecanismos de pesquisa (o Google odeia sites lentos e os classifica mais baixo - clique aqui para saber mais sobre a solução Magento 2 SEO de primeira classe da MagWorx).

Mas, ao mesmo tempo, há evidências convincentes de John Mueller, um dos líderes do Google, de que o Google não usa TTFB para classificações:

Magento 2 TTFB | Blog MageWorx

Portanto, nosso conselho é não ficar muito obcecado com o TTFB para SEO, mas, em vez disso, focar na experiência do usuário e no desempenho da loja.

Por que o TTFB é mais importante do que o carregamento completo da página (chamado “tempo até o último byte”)? Bem, porque quanto mais cedo você carregar o primeiro byte, mais rápido os usuários começarão a ler seu conteúdo. Não importa que eles não possam ver todas as fotos na página instantaneamente. É mais importante oferecer aos usuários algo para fazer enquanto seu servidor web está ocupado carregando o restante do conteúdo.

Índice

  • 1. Entenda seus gargalos para eliminá-los
    • O que é um bom TTFB?
  • 2. Migre para um mecanismo de banco de dados mais adequado
  • 3. Combine a configuração do servidor com suas necessidades de tráfego atuais
  • 4. Configure uma solução de cache melhor
  • 5. Livre-se de extensões inúteis
  • Dica de bônus: ajuste as configurações de registro da loja e do cliente
  • Uma batalha constante pelo desempenho

1. Entenda seus gargalos para eliminá-los

O que é um bom TTFB?

Magento 2 TTFB | Blog MageWorx
O Google afirma que um TTFB abaixo de 200 ms é o objetivo. Abaixo de 200 ms, o mecanismo de pesquisa o classificará mais alto. Quando você ultrapassar esse valor, o Google aplicará penalidades ao seu site. 600 ms ou mais significa que você não pode nem passar no teste TTFB do Google.

Há muitos fatores que afetarão seu TTFB. Em nenhuma ordem particular:

  • configuração e recursos do servidor web,
  • velocidade de resolução do servidor de nomes,
  • tempos de execução de código na página,
  • soluções de cache de back-end implementadas,
  • conjectura da rede.

Verifique seu valor de TTFB com um serviço de terceiros ou usando o teste de TTFB do Google. Você também pode comparar seus resultados com sites populares ou com seus concorrentes aqui para ter uma perspectiva única de como sua loja é carregada para usuários de dispositivos móveis.

Magento 2 TTFB | Blog MageWorx Outra ótima ferramenta de diagnóstico é o Magento 2 Profiler . Com ele, você pode facilmente dividir cada solicitação de página em blocos menores que são rápidos de visualizar e analisar.

Na tabela, preste atenção especial a 2 valores importantes, Tempo e Contagem. O tempo é autoexplicativo. É o atraso real entre a solicitação do usuário e a resposta do servidor. A linha Cnt corresponde a quantas vezes esse item foi chamado antes de criar a saída.

Vale a pena usar o Database Profiler em conjunto com o criador de perfil padrão do Magento 2 para analisar consultas de banco de dados.

Magento 2 TTFB | Blog MageWorx Este é o primeiro passo que você precisa dar: habilite o Magento Profiler e veja as páginas que têm os maiores problemas com o TTFB. Embora você possa usar o criador de perfil padrão, recomendamos configurar o SQL do Profiler. É gratuito e oferece uma visão geral conveniente do número de consultas por sessão.

O Profiler dividirá todas as solicitações em partes menores para que você possa ver imediatamente quais seções o arrastam para baixo.

2. Migre para um mecanismo de banco de dados mais adequado

O banco de dados de armazenamento Magento 2 pode facilmente se tornar o maior gargalo de desempenho se for ineficiente, lento ou usar um mecanismo de armazenamento que não seja a melhor opção para lidar com o Magento.

Por que isso é importante? Há uma ampla escolha de vários mecanismos de armazenamento para MySQL. Contamos pelo menos 10 soluções suportadas na documentação oficial do MySQL e há ainda mais por aí.

Embora você possa usar o Magento com o mecanismo padrão MyISAM MySQL, mecanismos de banco de dados alternativos, como o MariaDB Ari , um mecanismo de armazenamento ou o mecanismo Percona XtraDB, podem tornar sua loja mais estável e (às vezes) mais rápida em comparação com a configuração padrão.

Por exemplo, o mecanismo Aria usa uma abordagem mais inteligente nos casos em que o Magento força o mecanismo de armazenamento a usar muitas tabelas temporárias.

O Percona é outro fork do MySQL que integrou ao longo do tempo vários ajustes de desempenho para acelerar as consultas ao banco de dados. Comparado ao MyISAM , ele funciona muito mais rápido com muitas consultas paralelas e é especializado no processamento de transações.

Embora a melhor recomendação para otimização de banco de dados seja examinar cuidadosamente suas necessidades e escolher o mecanismo que melhor se adapta a você, temos algumas dicas que serão úteis para todos:

  • evite o MySQL padrão para pesquisa de loja. Instale o Elasticsearch para acelerar todas as consultas de pesquisa em seu site,
  • selecione o mecanismo de banco de dados que funciona melhor para você.

3. Combine a configuração do servidor com suas necessidades de tráfego atuais

Baratear a infraestrutura não é uma boa ideia. Com o tempo, uma empresa em constante crescimento verá mais clientes, mais transações e mais pedidos. Portanto, é saudável manter sua configuração com 80% da capacidade para ajustar os picos de uso aleatório e o tráfego de pedestres gerado pelo evento. Esses 20% podem ajudar bastante a manter um nível de desempenho decente em todas as situações.

Uma equipe de hospedagem que valha a pena lhe dirá quais requisitos de sistema você precisa para operar sem problemas. Mas se você cresceu rapidamente ao longo de um período de tempo, torna-se sua responsabilidade traçar um roteiro para a atualização.

Há vários pontos críticos em sua loja Magento que influenciarão fortemente os requisitos do seu sistema:

  • tamanho da loja (número de visualizações da loja),
  • categorias e SKUs no catálogo (com atributos e conjuntos de atributos),
  • números médios de tráfego (média de visualizações de página e picos históricos),
  • transações por dia (downloads digitais, pagamentos e operações similares).

Em geral, seu tráfego médio influenciará diretamente quanta energia de CPU você precisa. Portanto, depois de descobrir a configuração ideal da CPU, combine sua RAM com os requisitos da CPU para criar um perfil de servidor web balanceado.

O tamanho do armazenamento do banco de dados depende da sua RAM atual, portanto, você deve pegar apenas o suficiente para cobrir todas as necessidades atuais. Crie uma almofada de desempenho para algum espaço para respirar também. Seu objetivo é sempre manter pelo menos 20-25% de CPU e RAM sobressalentes para lidar com picos de tráfego ocasionais.

4. Configure uma solução de cache melhor

O cache de sites é a próxima melhor coisa depois da invenção das batatas fritas. O cache do servidor melhora a agilidade do site, tornando-o muito mais rápido. O cache funciona movendo dados usados ​​com frequência do SSD ou de um disco rígido para a RAM.

Onde os HDDs podem ler dados sequencialmente até 200 MB/s e SSDs até 3200, os módulos DRAM podem ir até 20 GB/s. O que nos dá a diferença de x10 ou pelo menos uma ordem de magnitude.

Tanto o Redis quanto o Varnish são uma das atualizações mais populares para as lojas Magento. É uma opção de cache recomendada para o Magento 2. Ambas as soluções funcionam muito bem com o Magento 1 também.

O verniz é uma ferramenta desafiadora de configurar, mas quando bem feita oferece valores de TTFB em 100-200 ms. Para configurações de cache de página inteira, o TTFB variará dentro de 250 ms.

Outra vantagem distinta do Varnish – ele funciona em mais páginas da web. Embora o FPC não funcione para páginas com muito conteúdo dinâmico, o Varnish oferece melhor desempenho mesmo para esses casos de uso desafiadores.

5. Livre-se de extensões inúteis

Para ser honesto, desabilitar extensões não utilizadas é a dica número 1 para qualquer loja Magento 2, mas muitas vezes é esquecida. Cada extensão executada em seu site usará alguns de seus recursos. Se eles estiverem mal configurados, eles também podem desacelerar seu TTFB.

Lembre-se: o servidor precisa executar este código antes de enviar qualquer feedback ao usuário.

Limpar sua lista de extensões também acelerará o Magento. Mesmo que você não possa desabilitar nenhum deles, mantenha sua loja Magento e suas extensões de terceiros atualizadas para se beneficiar de correções de bugs e otimizações que certamente melhorarão o desempenho do seu site .

Dica de bônus: ajuste as configurações de registro da loja e do cliente

Certifique-se de desativar o registro de clientes do Magento. Isso ajudará você a reduzir o tempo gasto em consultas ao banco de dados. Não é um grande impacto, pois o registro de clientes é uma atividade relativamente menor. O aumento de desempenho dependerá do número de clientes que visitam sua loja no momento.

Não recomendamos que você desative o log da loja. É uma ferramenta valiosa que ajuda na solução de problemas do Magento. Mas, em vez de permitir que os logs de armazenamento ocupem o tempo do servidor, você pode movê-los para um serviço de terceiros, como o Papertrail.

Uma batalha constante pelo desempenho

Não há duas lojas Magento iguais. Cada um deles enfrentará desafios diferentes na otimização de suas vitrines para velocidade. Isso pode ser especialmente verdadeiro para sites Magento mais antigos (e maiores) que possuem muitas extensões complexas de terceiros, grandes bancos de dados e várias lojas.

E embora nunca possamos “ganhar” essa batalha pelo desempenho, nosso objetivo comum é tornar as lojas Magento as melhores da categoria em velocidade, experiência do usuário e segurança entre todos os sites de comércio eletrônico.


Sobre o autor

Vasili Nikolaev está em uma caça ao tesouro permanente para descobrir as dicas mais eficazes para tornar a vida dos donos de lojas um pouco mais fácil. Não há nada mais satisfatório do que encontrar uma ótima solução para um problema desafiador para ele.