피드로 돌아가기
I Asked an AI to Build a Screenshot API. It Reviewed Its Own Code and Found 34 Bugs.
Dev.toDev.to
Backend

$2 VPS에서 Browser Pool 설계로 응답 속도 3초 미만 달성

I Asked an AI to Build a Screenshot API. It Reviewed Its Own Code and Found 34 Bugs.

Leo2026년 6월 9일6intermediate

Context

매 요청마다 Chrome 인스턴스를 실행하는 기존 Screenshot API의 구조적 한계로 인해 3~8초의 심각한 Cold Start 지연 발생. 저사양 VPS 환경에서 자원 효율성을 극대화하며 응답 시간을 단축해야 하는 제약 조건 존재.

Technical Solution

  • Browser Pool 패턴 도입을 통한 Chromium 인스턴스 사전 생성 및 재사용 구조 설계
  • 60초 주기 Health Check 로직을 통한 Dead Browser 자동 감지 및 교체 메커니즘 구현
  • acquire/release 기반의 Pool 관리로 Burst Capacity 대응 및 불필요한 프로세스 생성 억제
  • SQLite WAL 모드 채택을 통한 저사양 환경 내 데이터 쓰기 성능 최적화
  • TronGrid API 폴링 기반의 자동화된 USDT 결제 파이프라인 및 오차 허용 범위(±0.5 USDT) 설계를 통한 사용자 경험 개선
  • SSRF 방지 및 Rate Limiter 적용을 통한 API 엔드포인트 보안 강화

- Puppeteer 등 브라우저 자동화 도구 사용 시 Cold Start 방지를 위한 Warm Pool 적용 검토 - 저사양 인프라 구축 시 Redis/Postgres 대신 SQLite WAL 모드를 활용한 경량화 시도 - 외부 API 연동 결제 시스템 설계 시 네트워크 수수료 및 반올림 오차를 고려한 Tolerance 범위 설정

원문 읽기