본문 바로가기
Infra2026년 5월 28일3분 읽기

Vercel Fluid Compute — production 6주 실측, 콜드 스타트 -82% 비용 -34%

YS
김영삼
조회 456
Vercel Fluid Compute — production 6주 실측, 콜드 스타트 -82% 비용 -34%

핵심 요약

Vercel Fluid Compute가 정식 GA 된 후 production 18개 함수에 적용한 6주 데이터. p50 콜드 스타트 920ms → 168ms, 함수당 비용 -34%, idle 시간 단축으로 GB-hour -41%. 단일 인스턴스가 여러 요청을 처리하는 "in-function concurrency"가 결정적.

1. Fluid Compute가 뭔가

기존 Lambda 모델은 1 인스턴스 = 1 요청. Fluid는 1 인스턴스가 동시에 N개 요청 처리. Node async I/O 특성상 I/O wait 중 다른 요청 처리 → 인스턴스 효율 4~10배. AWS Lambda Adapter와 유사하나 Vercel 통합으로 자동.

2. 실측 — 18개 함수 평균

지표기존 ServerlessFluid Compute
콜드 스타트 p50920ms168ms
콜드 스타트 p993.1s540ms
GB-hour 사용1.0x0.59x
월 청구$4,820$3,180
Time to First Byte (p75)820ms240ms

3. 재사용을 활용하는 패턴

// HTTP client·DB pool을 모듈 스코프에 두면 인스턴스 간 공유
const db = new Pool({ connectionString: process.env.DATABASE_URL })
const httpClient = axios.create({ timeout: 5000 })

export async function POST(req: Request) {
  const data = await db.query('SELECT ...')  // pool 재사용
  return Response.json(data)
}

기존엔 인스턴스마다 새로 만들어 매번 1초 오버헤드. Fluid는 모듈 스코프 객체가 진짜 재사용.

4. 함정

  • 전역 mutable 상태 — 동시 요청이 같은 변수 만지면 race condition. global.cache 같은 패턴 금지
  • 외부 connection 한도 — DB pool size를 인스턴스 수 × concurrency로 계산, Postgres max_connections 도달 가능
  • 메모리 누수 — long-running 인스턴스라 큰 객체 GC 안 되면 OOM
  • function-level dynamic = 'force-dynamic' 강제 시 streaming 깨짐

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록