내 Laravel 앱이 프로덕션 환경에서 3초 이상의 TTFB를 갖는 이유는 무엇입니까?

내 Laravel 앱이 프로덕션 환경에서 3초 이상의 TTFB를 갖는 이유는 무엇입니까?

주변을 둘러보았지만 이미지와 같은 것이 TTFB에 영향을 미치는지에 대한 확실한 답변을 찾을 수 없습니다. 이는 내 사이트가 프로덕션에서 로드하는 데 왜 그렇게 오래 걸리는지에 대한 최선의 추측일 것입니다. 페이지 수신이 완전히 완료된 후 전송된 것을 볼 수 있는데 40.7 mb resources이는 많은 양이지만 초기 페이지 로드는 그 중 20.1kb에 불과하며 그 뒤에는 이미지/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'; ?>페이지를 로드하는 데 1초도 걸리지 않아 문제가 즉시 해결되었습니다.
  • 동일한 서버에서 호스팅되는 다른 애플리케이션과 캐시 구성이 동일하고 로드하는 데 훨씬 적은 시간이 걸리는지 확인했습니다.
  • composer install --optimize-autoloader --no-dev
  • composer dump-autoload -o
  • php artisan route:cache
  • php artisan config:cache

내 질문은: 이미지/css/js와 같은 리소스에는 자체 TTFB가 있지만 초기 페이지의 첫 번째 바이트까지의 시간을 늘릴 수 있습니까?

편집: 제가 지적하고 싶었던 또 다른 점은 리소스를 많이 사용하지 않는 페이지에서 발생하며 해당 서버가 있다는 것입니다.마이크로소프트 윈도우 서버 2016 기준그리고VMware, Inc. VMware7.1

답변1

내 Laravel 앱이 프로덕션 환경에서 3초 이상의 TTFB를 갖는 이유는 무엇입니까?

코드를 프로파일링하세요. 사용xdebug그 다음에파이프로귀하의 IDE 또는KCacheGrind/QCacheGrind코드에 부담을 주는 것이 무엇인지 확인합니다.

이미지/css/js와 같은 리소스에는 자체 TTFB가 있지만 초기 페이지의 첫 번째 바이트까지의 시간을 늘릴 수 있습니까?

자체적으로는 아니며 서버 로드 및 구성에 따라 다릅니다.

다시 한 번 먼저 코드를 프로파일링해 보세요. 생산되지 않는 것이 좋습니다.

관련 정보