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 após a solicitação:

Captura de tela mostrando que os tempos de resposta do servidor do Lighthouse são baixos na auditoria

Tempos de resposta lentos do servidor afetam o desempenho

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

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

O servidor pode precisar realizar um grande trabalho para retornar uma página com todo o conteúdo que os usuários desejam. Por exemplo, se os usuários estiverem analisando o histórico de pedidos, o servidor precisará buscar o histórico de cada usuário em um banco de dados e, em seguida, inserir esse conteúdo na página. Otimizar o servidor para fazer um trabalho assim 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 principais tarefas conceituais que seu servidor precisa concluir para retornar o conteúdo da página e, em seguida, medir quanto tempo leva cada uma delas. 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 possíveis de melhorar:

  • Otimizar a lógica do aplicativo do servidor para preparar as páginas mais rapidamente. Se você usa uma estrutura de servidor, ela pode ter recomendações sobre como fazer isso.
  • Otimize a forma como seu 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.

Usar 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 TFBS do Optimize para mais detalhes.

Orientações específicas para a pilha

Drupal

Todas as especificações de servidor, temas e módulos contribuem para o tempo de resposta do servidor. Recomendamos que você use um tema mais otimizado, selecionando cuidadosamente um módulo de otimização ou fazendo upgrade do seu servidor. Os servidores de hospedagem devem usar armazenamento em cache de código de operação PHP, sistemas de armazenamento em cache de memória, como Memcached ou Redis, para reduzir o tempo de consulta ao banco de dados, além de otimizar a lógica do aplicativo para preparar as páginas com mais rapidez.

Magento

Use a integração de Varnish (em inglês) da Magento.

Reagir

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

WordPress

Todas as especificações de servidor, temas e plug-ins contribuem para o tempo de resposta do servidor. Recomendamos que você use um tema mais otimizado, selecionando cuidadosamente um plug-in de otimização e/ou fazendo upgrade do seu servidor.

Recursos