리전을 서울로 옮겼는데 프록시만 싱가포르에 남아 있었다
DB까지 다녀오는 API보다 아무 일도 안 하는 프록시가 4배 느린 이유를 쫓다 발견한 설정의 사각지대와, getUser()를 로컬 JWT 검증으로 바꾸며 감수한 트레이드오프
6개의 글
DB까지 다녀오는 API보다 아무 일도 안 하는 프록시가 4배 느린 이유를 쫓다 발견한 설정의 사각지대와, getUser()를 로컬 JWT 검증으로 바꾸며 감수한 트레이드오프
배포한 앱의 초기 로딩이 느려서 Supabase 무료 플랜을 의심했다가, 아무 일도 하지 않는 401 응답을 재보고 진짜 원인을 찾은 기록 — Vercel 기본 함수 리전 iad1과 서울 Supabase 사이의 태평양 왕복
TBT 8배 회귀를 진단하다 발견한 것 — 회귀는 코드가 아니라 데이터 때문이었고, 그 데이터를 세다가 API가 1,000건에서 조용히 잘리고 있다는 걸 알았다
CI에서만 간헐적으로 실패하던 e2e 테스트 — 타임아웃을 늘려 덮는 대신, 읽기 요청에 숨어 있던 직렬 다중 왕복을 단일 RPC로 줄이고 통계로 검증한 기록
베이스 스키마 없이 0001부터 시작하던 Supabase 마이그레이션 히스토리를 백필하고, 실제 조회 패턴 기반 인덱스를 설계하기까지 — Docker 없는 환경에서 원격 스키마를 검증한 기록
요청 본문을 그대로 insert에 스프레드하던 Next.js Route Handler를 zod 화이트리스트 검증으로 바꾸기까지 — 코드 감사에서 발견한 문제와 해결 기록