피드로 돌아가기
GitHub BlogGitHub Blog
Frontend

IndexedDB 기반 Client-side Caching으로 HPC <200ms 즉각적 응답 구현

From latency to instant: Modernizing GitHub Issues navigation performance

Natalie Guevara2026년 5월 14일15advanced

Context

서버 렌더링과 중복 데이터 페칭으로 인한 Navigation Latency가 개발자의 작업 흐름을 저해하는 병목 지점으로 작용. 기존 SSR 중심 구조는 Cold Start 및 네트워크 비용을 매번 지불하여 사용자 체감 성능을 저하시키는 한계 존재.

Technical Solution

  • Perceived Latency 최적화를 위해 로컬 데이터 우선 렌더링 후 백그라운드에서 재검증하는 'Render-then-Revalidate' 전략 채택
  • IndexedDB 기반의 Client-side Caching Layer를 구축하여 네트워크 요청 없이 즉각적인 데이터 제공 구조 설계
  • Cache Hit Rate 향상을 위해 사용자 행동 패턴을 분석한 Preheating 전략을 도입하여 불필요한 요청 최소화
  • Hard Navigation 상황에서도 캐시 데이터 활용이 가능하도록 Service Worker를 통한 데이터 가용성 확보
  • 단순 Latency 측정이 아닌 HPC(Highest Priority Content) 지표를 도입하여 사용자 체감 성능 중심의 최적화 기준 설정

- LCP와 유사한 HPC 지표를 설정하여 실제 사용자가 느끼는 핵심 콘텐츠 렌더링 시점을 측정할 것 - 네트워크 요청 전 로컬 캐시를 먼저 렌더링하고 백그라운드에서 최신 데이터를 동기화하는 패턴 검토 - 단순한 캐싱을 넘어 사용자 다음 경로를 예측하여 미리 데이터를 채우는 Preheating 전략 적용 - Hard Navigation 시의 성능 저하를 막기 위해 Service Worker 도입 및 리소스 제어 고려

원문 읽기