Por que meu aplicativo Laravel está tendo TTFB de mais de 3 segundos em produção?

Por que meu aplicativo Laravel está tendo TTFB de mais de 3 segundos em produção?

Procurei, mas não consigo encontrar uma resposta definitiva sobre se coisas como imagens afetam o TTFB, o que seria meu melhor palpite sobre por que meu site está demorando tanto para carregar na produção. Depois que a página é totalmente recebida, vejo que ela foi transferida, 40.7 mb resourceso que é muito, mas o carregamento inicial da página é responsável por apenas 20,1kb disso, seguido por images/js/css.

O arquivo .har exportado do inspetor de rede:

"pages": [
  {
    "startedDateTime": "2022-04-01T23:10:26.010Z",
    "id": "page_1",
    "title": "https://example.com/",
    "pageTimings": {
      "onContentLoad": 5878.881000004185,
      "onLoad": 6390.734000000521
    }
  }
],

E depois disso segue coisas como images/js/css.

Coisas que tentei:

  • Substituir o conteúdo em index.php por uma simples instrução echo que foi <?php echo 'foobar'; ?>e isso resolveu o problema imediatamente, pois a página demorou menos de um segundo para carregar.
  • Garantiu que tivesse a mesma configuração de cache de outras aplicações hospedadas no mesmo servidor e que também demorassem muito menos para carregar.
  • composer install --optimize-autoloader --no-dev
  • composer dump-autoload -o
  • php artisan route:cache
  • php artisan config:cache

Minha pergunta é: embora recursos como images/css/js tenham seu próprio TTFB, eles poderiam estar aumentando o tempo até o primeiro byte da página inicial?

Editar: Outra coisa que gostaria de salientar é que isso ocorre em páginas que não consomem muitos recursos e também que o servidor em que está estáPadrão do Microsoft Windows Server 2016eVMware, Inc.

Responder1

Por que meu aplicativo Laravel está tendo TTFB de mais de 3 segundos em produção?

Crie um perfil do seu código. Usarxdebugentãocanalizepara o seu IDE ou paraKCacheGrind/QCacheGrindpara ver o que está sobrecarregando seu código.

embora recursos como images/css/js tenham seu próprio TTFB, eles poderiam estar aumentando o tempo até o primeiro byte da página inicial?

Não por si só, depende da carga do servidor e das configurações.

Novamente, tente primeiro criar o perfil do seu código. De preferência, não em produção.

informação relacionada