서버 응답 시간 단축

Lighthouse 보고서의 기회 섹션에서는 서버 응답 시간(사용자의 브라우저가 요청한 후 페이지 콘텐츠의 첫 번째 바이트를 수신하는 데 걸리는 시간)을 보고합니다.

감사 시간이 짧은 Lighthouse 서버 응답 시간의 스크린샷

느린 서버 응답 시간은 성능에 영향을 미칩니다.

서버가 기본 문서 요청에 응답할 때까지 브라우저에서 600ms 이상 대기하면 감사가 실패합니다. 사용자는 페이지가 로드되는 데 오래 걸리는 것을 싫어합니다. 서버 응답 시간이 느린 것은 페이지 로드가 오래 걸리는 이유 중 하나입니다.

사용자가 웹브라우저에서 URL로 이동하면 브라우저에서는 해당 콘텐츠를 가져오기 위해 네트워크 요청을 실행합니다. 서버가 요청을 수신하고 페이지 콘텐츠를 반환합니다.

서버는 사용자가 원하는 모든 콘텐츠가 포함된 페이지를 반환하기 위해 많은 작업을 수행해야 할 수 있습니다. 예를 들어 사용자가 주문 내역을 확인 중인 경우 서버는 데이터베이스에서 각 사용자의 내역을 가져온 다음 해당 콘텐츠를 페이지에 삽입해야 합니다. 가능한 한 빨리 이런 방식으로 작동하도록 서버를 최적화하는 것은 사용자가 페이지가 로드될 때까지 기다리는 시간을 줄이는 한 가지 방법입니다.

서버가 많은 작업을 할 필요가 없는 경우에도 클라이언트와 서버 간의 네트워크 지연으로 인해 서버 응답 시간이 느려질 수 있습니다.

서버 응답 시간을 개선하는 방법

서버 응답 시간을 개선하기 위한 첫 번째 단계는 페이지 콘텐츠를 반환하기 위해 서버에서 완료해야 하는 핵심 개념 작업을 파악한 다음 이러한 각 작업에 걸리는 시간을 측정하는 것입니다. 가장 긴 작업을 식별한 후 작업 속도를 높일 수 있는 방법을 검색합니다.

서버 응답이 느려지는 원인에는 여러 가지가 있으므로 이를 개선할 수 있는 여러 가지 방법이 있습니다.

  • 서버의 애플리케이션 로직을 최적화하여 페이지를 더 빠르게 준비하세요. 서버 프레임워크를 사용하는 경우 프레임워크에 이를 위한 권장사항이 있을 수 있습니다.
  • 서버가 데이터베이스를 쿼리하는 방식을 최적화하거나 더 빠른 데이터베이스 시스템으로 마이그레이션하세요.
  • 메모리나 CPU를 늘리려면 서버 하드웨어를 업그레이드하세요.

CDN을 사용하여 네트워크 지연 시간을 줄이세요. 이는 문서를 CDN 에지 노드에서 캐시할 수 있는 경우 특히 효과적입니다.

자세한 내용은 TFB 최적화 가이드를 참고하세요.

스택별 안내

Drupal

테마, 모듈, 서버 사양은 모두 서버 응답 시간에 영향을 미칩니다. 더 최적화된 테마를 찾거나, 최적화 모듈을 신중하게 선택하거나, 서버를 업그레이드해 보세요. 호스팅 서버는 PHP 명령 코드 캐싱, Memcache 또는 Redis와 같은 메모리 캐싱 시스템을 활용하여 데이터베이스 쿼리 시간을 줄이고, 최적화된 애플리케이션 로직을 활용하여 페이지를 더 빠르게 준비해야 합니다.

Magento

Magento의 Varnish 통합을 사용합니다.

반응

서버 측에서 React 구성요소를 렌더링하는 경우 renderToNodeStream() 또는 renderToStaticNodeStream()를 사용하여 클라이언트가 한 번에 마크업의 여러 부분을 받아서 하이드레이션할 수 있도록 하는 것이 좋습니다.

WordPress

테마, 플러그인, 서버 사양은 모두 서버 응답 시간에 영향을 미칩니다. 더 최적화된 테마를 찾고, 최적화 플러그인을 신중하게 선택하고, 서버를 업그레이드해 보세요.

자료