피드로 돌아가기
Dev.toBackend
원문 읽기
3단계 렌더링 파이프라인 구축으로 렌더링 시간 50% 단축
We Built a Custom Playwright Rendering Pipeline for Our MCP Server — Here is What We Learned
AI 요약
Context
AI 에이전트를 위한 MCP 서버 구축 중 Headless Browser 탐지로 인한 데이터 추출 실패 발생. 단순 Playwright 도입 시 발생하는 리소스 낭비와 SPA 렌더링 대기 시간 최적화가 핵심 과제로 부상.
Technical Solution
- 요청 특성에 따른 3단계 Tiered Routing(Direct HTTP $\rightarrow$ FlareSolverr $\rightarrow$ Playwright) 설계를 통한 리소스 최적화
- Skeleton Page 탐지 로직을 통한 불필요한 브라우저 인스턴스 생성 방지
- Content Stability, Network Idle, Meaningful Content 기반의 3중 Concurrent Wait 전략을 통한 대기 시간 최소화
- URL별 Fingerprint Rotation 및 OS/브라우저 UA 다양화를 통한 Headless 탐지 우회
- 네트워크 레벨의 이미지, 폰트 및 트래킹 도메인 차단으로 HTML 페이로드 경량화
- LRU 캐시와 TTL 설정을 통한 중복 요청의 0ms 응답 처리
실천 포인트
- 정적 HTML 추출이 가능한지 우선 확인하는 Fallback 체인 구축 - 고정 Sleep 대신 콘텐츠 변화량 기반의 Stability Poll 기법 검토 - 리소스 차단을 통한 네트워크 페이로드 최적화 적용 - 모듈별 단일 책임 원칙(Single Responsibility) 기반의 컴포넌트 분리