피드로 돌아가기
Dev.toBackend
원문 읽기
$2 VPS에서 Browser Pool 설계로 응답 속도 3초 미만 달성
I Asked an AI to Build a Screenshot API. It Reviewed Its Own Code and Found 34 Bugs.
AI 요약
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 범위 설정