피드로 돌아가기
Dev.toFrontend
원문 읽기
Lab 데이터 한계를 극복한 실사용자 기반 Web Vitals 측정 시스템 구축
Real User Monitoring: Measuring Web Performance in Production
AI 요약
Context
Lighthouse 등 Lab Test 기반 측정 방식의 제어된 환경으로 인한 실제 사용자 경험 반영 한계 발생. 네트워크 지연, 디바이스 성능 차이, 지리적 변수 등 Production 환경의 가변적 병목 지점 파악을 위한 Field Data 수집 필요성 대두.
Technical Solution
- web-vitals/attribution 라이브러리를 통한 LCP, CLS, INP 등 핵심 Web Vitals 실시간 추출 구조 설계
- Page Navigation 시 데이터 유실 방지를 위해 navigator.sendBeacon을 활용한 비동기 전송 메커니즘 채택
- User-Agent 분석 및 Network Information API를 통한 디바이스 타입과 연결 상태의 메타데이터 결합 수집
- Cloudflare Edge 환경의 request.cf 객체를 활용한 사용자 국가 정보의 자동 식별 및 저장
- D1 Database의 APPROX_PERCENTILE 함수를 이용한 p50, p75, p95 등 백분위수 기반의 성능 분석 쿼리 최적화
실천 포인트
- Lab Data와 Field Data의 상호 보완적 측정 체계 구축 여부 검토 - 페이지 이탈 시 데이터 전송 보장을 위한 sendBeacon 또는 fetch keepalive 옵션 적용 - 단순 평균값이 아닌 p95, p99 등 Tail Latency 분석을 위한 쿼리 구조 설계 - 성능 저하 지점 식별을 위한 Pathname 및 DeviceType별 세그먼트 분석 환경 마련