리전을 서울로 옮겼는데 프록시만 싱가포르에 남아 있었다
DB까지 다녀오는 API보다 아무 일도 안 하는 프록시가 4배 느린 이유를 쫓다 발견한 설정의 사각지대와, getUser()를 로컬 JWT 검증으로 바꾸며 감수한 트레이드오프
6개의 글
DB까지 다녀오는 API보다 아무 일도 안 하는 프록시가 4배 느린 이유를 쫓다 발견한 설정의 사각지대와, getUser()를 로컬 JWT 검증으로 바꾸며 감수한 트레이드오프
배포한 앱의 초기 로딩이 느려서 Supabase 무료 플랜을 의심했다가, 아무 일도 하지 않는 401 응답을 재보고 진짜 원인을 찾은 기록 — Vercel 기본 함수 리전 iad1과 서울 Supabase 사이의 태평양 왕복
await 없이 흘려보낸 프리페치가 만든 하이드레이션 불일치 — e2e 로그에서 18건을 세고, 첫 렌더를 서버와 맞춰 없애기까지
TBT 8배 회귀를 진단하다 발견한 것 — 회귀는 코드가 아니라 데이터 때문이었고, 그 데이터를 세다가 API가 1,000건에서 조용히 잘리고 있다는 걸 알았다
searchParams를 읽는 순간 페이지가 동적 렌더링으로 바뀐다 — 잘 동작하는 기능 뒤에서 렌더링 전략이 바뀐 것을 발견하고, 경로 기반 페이지네이션과 목록 캐싱으로 되돌린 기록
Lighthouse 회귀를 쫓다 발견한 무력화된 메모이제이션 — 값이 같은데도 메모가 깨지는 이유와, 고쳤는데 지표가 안 움직여서 알게 된 측정 도구의 경계