Lighthouse 보고서의 기회 섹션에는 요청을 보낸 후 사용자의 브라우저가 페이지 콘텐츠의 첫 번째 바이트를 수신하는 데 걸리는 시간인 서버 응답 시간이 보고됩니다.
느린 서버 응답 시간이 성능에 영향을 미침
서버가 기본 문서 요청에 응답할 때 브라우저가 600밀리초 이상 대기하면 이 감사가 실패합니다. 사용자는 페이지가 로드되는 데 시간이 오래 걸리는 것을 싫어합니다. 서버 응답 속도가 느려 페이지 로드 시간이 길어질 수 있습니다.
사용자가 웹브라우저에서 URL로 이동하면 브라우저는 해당 콘텐츠를 가져오기 위해 네트워크를 요청합니다. 서버가 요청을 수신하고 페이지 콘텐츠를 반환합니다.
사용자가 원하는 모든 콘텐츠가 포함된 페이지를 반환하기 위해 서버에서 많은 작업을 해야 할 수 있습니다. 예를 들어 사용자가 주문 내역을 확인하는 경우 서버는 데이터베이스에서 각 사용자의 내역을 가져와 페이지에 해당 콘텐츠를 삽입해야 합니다. 서버가 이러한 작업을 최대한 빨리 처리하도록 최적화하는 것이 사용자가 페이지가 로드될 때까지 기다리는 시간을 줄이는 한 가지 방법입니다.
서버에서 많은 작업을 실행하지 않아도 클라이언트와 서버 간의 네트워크 지연으로 인해 서버 응답 속도가 느려질 수 있습니다.
서버 응답 시간을 개선하는 방법
서버 응답 시간을 개선하기 위한 첫 번째 단계는 서버가 페이지 콘텐츠를 반환하기 위해 완료해야 하는 핵심 개념적 작업을 식별한 다음 이러한 각 작업에 걸리는 시간을 측정하는 것입니다. 가장 긴 작업을 파악했다면 작업 속도를 높일 수 있는 방법을 찾아보세요.
서버 응답이 느려지는 원인은 다양하므로 개선 방법도 다양합니다.
- 페이지를 더 빠르게 준비하도록 서버의 애플리케이션 로직을 최적화합니다. 서버 프레임워크를 사용하는 경우 프레임워크에 이를 수행하는 방법에 관한 권장사항이 있을 수 있습니다.
- 서버가 데이터베이스를 쿼리하는 방식을 최적화하거나 더 빠른 데이터베이스 시스템으로 이전합니다.
- 서버 하드웨어를 업그레이드하여 메모리 또는 CPU를 늘립니다.
CDN을 사용하여 네트워크 지연 시간을 줄입니다. 이는 문서가 CDN 에지 노드에서 캐시될 수 있는 경우 특히 효과적입니다.
자세한 내용은 TTFB 최적화 가이드를 참고하세요.
스택별 안내
Drupal
Internal Page Cache
, Internal Dynamic Page Cache
, BigPipe
과 같은 하나 이상의 Drupal
캐싱 모듈을 사용하여 트래픽을 오프로드합니다. 이를 CDN과 결합하여 응답 시간을 더욱 개선하세요. 호스팅 서버에서는 PHP OPcache를 사용해야 합니다. Redis 또는 Memcached와 같은 메모리 캐싱을 사용하여 데이터베이스 쿼리 시간을 줄이는 것이 좋습니다. 마지막으로 성능이 뛰어난 테마, 모듈, 더 빠른 서버를 사용하여 서버 응답 시간을 단축합니다.
Magento
Magento의 Varnish 통합을 사용하세요.
React
서버 측에서 React 구성요소를 렌더링하는 경우 renderToNodeStream()
또는 renderToStaticNodeStream()
을 사용하여 클라이언트가 모든 마크업이 아닌 마크업의 서로 다른 부분을 받아서 하이드레이션할 수 있도록 허용해 보세요.
WordPress
가벼운 테마(가급적 블록 테마)를 선택하고 전체 페이지 캐싱 또는 정적 사이트 솔루션을 구현합니다. 불필요한 플러그인을 사용 중지하여 서버 오버헤드를 최소화합니다.
호스팅을 관리형 또는 전용 서비스로 업그레이드하는 것이 좋습니다.