Почему время TTFB моего приложения Laravel в продакшене составляет более 3 секунд?

Почему время TTFB моего приложения Laravel в продакшене составляет более 3 секунд?

Я поискал, но не могу найти точного ответа на вопрос, влияют ли такие вещи, как изображения, на TTFB, что было бы моей лучшей догадкой относительно того, почему мой сайт так долго загружается в рабочем режиме. После того, как страница полностью получена, я вижу, что она передана, 40.7 mb resourcesчто много, но начальная загрузка страницы составляет всего 20,1 КБ из этого, за которыми следуют изображения/js/css.

Файл .har, экспортированный из инспектора сети:

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

А после этого следуют такие вещи, как images/js/css.

Что я пробовал:

  • Замена содержимого в index.php простым оператором echo, который был, <?php echo 'foobar'; ?>и это сразу же решило проблему, поскольку загрузка страницы заняла меньше секунды.
  • Обеспечил, чтобы у него была та же конфигурация кэша, что и у других приложений, размещенных на том же сервере, и которые также загружаются гораздо быстрее.
  • composer install --optimize-autoloader --no-dev
  • composer dump-autoload -o
  • php artisan route:cache
  • php artisan config:cache

Мой вопрос: хотя такие ресурсы, как images/css/js, имеют собственное TTFB, могут ли они увеличивать время до первого байта для начальной страницы?

Редактировать: Еще одна вещь, на которую я хотел бы обратить внимание, это то, что это происходит на страницах, которые не требуют больших ресурсов, а также то, что сервер, на котором это происходит,Microsoft Windows Server 2016 СтандартныйиVMware, Inc. VMware7.1

решение1

Почему время TTFB моего приложения Laravel в продакшене составляет более 3 секунд?

Профилируйте свой код. Используйтеxdebugзатемтруба эток вашей IDE или кKCacheGrind/QCacheGrindчтобы увидеть, что перегружает ваш код.

Хотя такие ресурсы, как images/css/js, имеют собственное TTFB, могут ли они увеличивать время до первого байта для начальной страницы?

Сами по себе нет, зависят от нагрузки на сервер и ваших конфигураций.

Опять же, попробуйте сначала профилировать свой код. Желательно не в продакшене.

Связанный контент