본문 바로가기
리액트

[리액트] 웹 성능 최적화 with Lighthouse

by 지 요니 2023. 6. 28.

🧸 웹 성능 결정 요소

  • 로딩 성능 - 각 리소스를 불러오는 성능
    • 이미지 사이즈 최적화 / Code Split / 텍스트 압축
  • 렌더링 성능 - 불러온 리소스들을 화면에 보여주는 성능
    • Bottleneck 코드 최적화

📌 LightHouse

Lighthouse는 구글에서 개발한, 웹 페이지의 품질을 개선할 수 있는 오픈 소스 형태의 자동화 도구

📊 LightHouse 성능 지표

  1. First Contentful Paint(FCP) -> 10%의 가중치
    • 사용자가 특정 웹 페이지로 이동했을 때, 브라우저가 첫 번째 DOM의 콘텐츠를 렌더링하는 데 걸리는 시간
  2. Speed Index -> 10%의 가중치
    • 웹 페이지를 불러올 때, 콘텐츠가 시각적으로 표시되는 데까지 걸리는 시간
  3. Time To Interactive(TTI) -> 10%의 가중치
    • 웹 페이지가 완전히 상호작용할 수 있는 상태가 될 때까지 걸리는 시간 -> 단순히 시각적으로 보여지는 것 뿐만 아니라, 사용자가 페이지와 소통이 가능한 상태까지 렌더링 되어야한다.
  4. Max Potential First Input Delay
    • 웹 페이지가 완전히 상호작용할 수 있는 상태가 될 때까지 걸리는 시간
  5. Total Blocking Time(TBT) -> 30%의 가중치
    • 웹 페이지가 사용자 입력에 응답하지 못하도록 차단된 총 시간
    • = 로딩 중 메인 스레드가 긴 시간동안 중단되어 응답을 받을 수 없을 정도로 걸린 시간
  6. Largest Contentful Paint(LCP) ->  25%의 가중치
    • 뷰포트에서 가장 큰 콘텐츠 요소가 화면에 렌더링 될 때까지 걸리는 시간
  7. Cumulative Layout Shift(CLS) -> 15%의 가중치 
    • 이미지/광고의 느린 로딩, 비동기 동작, 동적 DOM 변경 등으로 웹 페이지의 레이아웃이 얼마나 변하는 지 측정한 값
    • 사용자가 잘못된 클릭을 하도록 유발하는 시각적 불안정성을 체크하는 지표

🔍 Lighthouse 결과 항목 분석

1. Performance

Lighthouse는 화면에 콘텐츠가 얼마나 빨리 표시되고 사용자는 얼마나 빠르게 해당 콘텐츠를 인식하는 지에 초점

즉, 실제 성능을 측정

  • Lighthouse 6
Audit Weight
First Contentful Paint 15%
Speed Index 15%
Largest Contentful Paint 25%
Time to Interactive 15%
Total Blocking Time 25%
Cumulative Layout Shift 5%

2. Accessibility

Lighthouse는 웹 애플리케이션의 접근성을 검사한다. <img> 태그에 alt 속성이 있는지, <html> 태그에 lang 속성이 있는지, 배경색과 전경색의 대비가 충분한지와 같은 항목을 확인한다.

 

3. Best Practices

Lighthouse는 웹 페이지가 웹에 대한 표준 모범 사례를 따르고 있는지 확인한다. 웹 애플리케이션을 가동할 때 콘솔에 오류가 출력되진 않는지, 더는 사용하지 않는 API를 호출하고 있지 않은지, HTTPS를 통해 해당 페이지에 접근할 수 있는지와 같은 항목을 확인한다.

4. SEO

Lighthouse는 웹 페이지가 검색 엔진에 대해 최적화된 순위 결과를 가지고 있는지 확인한다. 각 사용자가 자신의 디바이스를 이용하여 웹 페이지에 접근하였을 때 그들이 콘텐츠를 읽는 데에 무리가 없는 글꼴 크기를 사용하는지, 웹 페이지의 robots.txt 파일이 유효한지, 올바른 상태 코드를 사용하는 지와 같은 일부 SEO 모범 사례를 확인한다.

5. Progressive Web App(PWA)

웹과 네이티브 앱의 기능 모두의 이점을 가지도록 만들어진 서비스인지 체크합니다.

 

  • Opportunities: 리소스 관점 : 페이지를 더욱 빨리 로드하는 데 잠재적으로 도움이되는 제안
  • Diagnostics: 렌더링 성능 최적화 관련 : 로드 속도와 직접적인 관계는 없지만 성능과 관련된 기타 정보를 보여줌.
  • Past Audit: 이미 잘 적응하고 있는 항목
  • Runtime Seting: 검사 환경 요약

 

 

 

 

 

댓글