Skip to content

Latest commit

 

History

History
45 lines (39 loc) · 2.56 KB

metrics.md

File metadata and controls

45 lines (39 loc) · 2.56 KB

지표

렌더링 관련

  • FP(First Paint)
    • 페이지 호출을 하고 첫 픽셀이 화면에 그려지기 전까지의 시간을 나타냄
    • FP를 통해 사용자는 페이지에 접속중이라고 인지
  • FMP(First Meaningful Paint)
    • 페이지에서 가장 큰 레이아웃 변화와 웹폰트 로드 이후 첫 렌더링까지의 시간을 나타냄
    • 브라우저 별로 다른 결과를 보일 수 있음
    • lighthouse v6.0부터 지원을 중단했고 LCP 사용을 권장함
  • LCP(Largest Contentful Paint)
    • 페이지 로드가 시작된 시점부터 큰 텍스트나 이미지 엘리먼트가 렌더될 때까지의 시간을 나타냄
    • 사용자가 감지하는 로드 속도를 측정할 수 있음
    • 좋은 UX를 위해 2.5초 미만이어야 함
  • FCP(First Contentful Paint)
    • 브라우저가 처음 컨텐츠 엘리먼트를 렌더링하는데 걸리는 시간을 나타냄
    • 컨텐츠는 canvas, svg 등을 말함
    • 유저가 컨텐츠를 처음으로 소비하기 시작하는 시간
    • 페이지의 일부라도 로딩이 끝나는 시간을 측정하는 지표
    • 좋은 UX를 위해 1.8초 미만이어야 함
    • 렌더링 차단 리소스 제거, css 축소, 핵심 요청 사전 로드, 캐싱, 요청 깊이 최소화를 하면 FCP를 최적화할 수 있음
    • <link rel="preconnect"> 혹은 <link rel="preload"> 사용을 통해 UX 향상 가능
    • <link rel="dns-prefetch">는 dns 조회만 사전처리하지만 브라우저 지원이 광범위하므로 좋은 대체 수단

반응속도 관련

  • TTI(Time to Interactive)
    • 페이지가 로드되기 시작한 시점부터 주요 하위 리소스가 로드된 후 사용자 입력을 안정적으로 응답할 수 있게 되기까지의 시간
    • SSR을 사용하면 표시속도는 빨리지지만 TTI가 희생될 수 있음
    • FCP와 TTI 사이 간격을 최소화해야 함
    • 일반적으로 5초 미만이어야 함
  • FID(First Input Delay)
    • 사용자가 행동을 하고 나서 이벤트 핸들러 처리 시작까지의 시간
    • 비동기 이벤트 핸들러에서도 일관된 수치 측정을 하기 위해 시작까지의 시간을 측정함
    • 좋은 UX를 위해 100밀리초 미만이어야 함
    • 사용자가 있어야 측정 가능한 지표로 자동 테스트에서는 TBT 사용
  • TBT(Total Blocking Time)
    • FCP와 TTI 사이 블록된 시간의 합
    • 좋은 UX를 위해 300밀리초 미만이어야 함

UI 안정성 관련

  • CLS(Cumulative Layout Shift)
    • 사용자가 예상치 못한 레이아웃 이동을 경험하는 빈도를 측정한 지표