Reduzir os tempos de resposta do servidor

A seção "Oportunidades" do relatório do Lighthouse informa o tempo de resposta do servidor, ou seja, o tempo que o navegador de um usuário leva para receber o primeiro byte do conteúdo da página depois de fazer a solicitação:

Captura de tela da auditoria "Os tempos de resposta do servidor do Lighthouse são baixos"

Tempos de resposta lentos do servidor afetam a performance

Essa auditoria falha quando o navegador espera mais de 600 ms para que o servidor responda à solicitação do documento principal. Os usuários não gostam quando as páginas demoram muito para carregar. Tempos de resposta lentos do servidor são uma possível causa para carregamentos de página longos.

Quando os usuários navegam até um URL no navegador da Web, ele faz uma solicitação de rede para buscar esse conteúdo. O servidor recebe a solicitação e retorna o conteúdo da página.

O servidor pode precisar fazer muito trabalho para retornar uma página com todo o conteúdo que os usuários querem. Por exemplo, se os usuários estiverem consultando o histórico de pedidos, o servidor precisará buscar o histórico de cada usuário em um banco de dados e inserir esse conteúdo na página. Otimizar o servidor para fazer esse trabalho o mais rápido possível é uma maneira de reduzir o tempo que os usuários passam esperando o carregamento das páginas.

Mesmo quando o servidor não precisa fazer muito trabalho, a latência da rede entre o cliente e o servidor pode resultar em tempos de resposta lentos.

Como melhorar os tempos de resposta do servidor

A primeira etapa para melhorar os tempos de resposta do servidor é identificar as tarefas conceituais principais que ele precisa concluir para retornar o conteúdo da página e medir quanto tempo cada uma dessas tarefas leva. Depois de identificar as tarefas mais longas, procure maneiras de acelerá-las.

Há muitas causas possíveis para respostas lentas do servidor e, portanto, muitas maneiras de melhorar:

  • Otimize a lógica de aplicativo do servidor para preparar as páginas mais rapidamente. Se você usa um framework de servidor, ele pode ter recomendações sobre como fazer isso.
  • Otimize a forma como o servidor consulta bancos de dados ou migre para sistemas de banco de dados mais rápidos.
  • Faça upgrade do hardware do servidor para ter mais memória ou CPU.

Use uma CDN para reduzir a latência da rede. Isso é particularmente eficaz se o documento puder ser armazenado em cache no nó de borda da CDN.

Consulte o guia Otimizar o TTFB para mais detalhes.

Orientações específicas para a pilha

Drupal

Descarregue o tráfego com um ou mais módulos de armazenamento em cache do Drupal, como Internal Page Cache, Internal Dynamic Page Cache e BigPipe. Combine esse processo com uma CDN para melhorar ainda mais o tempo de resposta. Seus servidores de hospedagem precisam usar o PHP OPcache. Use armazenamento de memória em cache, como Redis ou Memcached, para reduzir o tempo de consulta do banco de dados. Por fim, use módulos e temas de alto desempenho, bem como servidores mais rápidos, para diminuir o tempo de resposta do servidor.

Magento

Use a integração do Varnish do Magento.

Reação

Se você estiver renderizando componentes do React no servidor, considere usar renderToNodeStream() ou renderToStaticNodeStream() para permitir que o cliente receba e hidrate diferentes partes da marcação em vez de todas juntas.

WordPress

Escolha um tema leve (de preferência um tema de bloco) e implemente o armazenamento de página inteira em cache ou uma solução de site estático. Desative plug-ins desnecessários para minimizar o overhead do servidor.

Faça upgrade da sua hospedagem para um serviço gerenciado ou dedicado.

Recursos