피드로 돌아가기
A 10-Line Playwright Trick That Saved Me Hours on Every Sephora Run
Dev.toDev.to
Infrastructure

불필요한 리소스 차단으로 페이지 로드 73% 단축 및 비용 60% 절감

A 10-Line Playwright Trick That Saved Me Hours on Every Sephora Run

SIÁN Agency2026년 5월 22일3intermediate

Context

기존 Playwright 기반 스크래퍼가 CSS, 폰트, 분석 스크립트 등 불필요한 리소스를 모두 로드하며 발생하는 오버헤드 분석. 수천 개의 페이지를 처리하는 대규모 수집 환경에서 리소스 낭비로 인한 런타임 증가와 컴퓨팅 비용 상승이 주요 병목 지점으로 작용.

Technical Solution

  • context.route 핸들러를 통한 Network Level의 리소스 필터링 아키텍처 적용
  • resourceType 기반으로 image, media, font, stylesheet 등 렌더링에 불필요한 정적 자산 차단
  • 정규표현식을 활용하여 Google Analytics, Hotjar 등 외부 Tracking 도메인으로의 요청을 선제적으로 abort 처리
  • DOM 구조 형성을 위한 필수 JavaScript 실행은 보장하여 데이터 무결성 유지
  • 리소스 차단 후 데이터 추출 결과의 Diff 분석을 통해 사이트별 최적의 차단 목록 도출

Impact

  • 평균 페이지 로드 시간 4.8s에서 1.3s로 단축
  • 5,000개 제품 카탈로그 수집 시간 6.5시간에서 1.8시간으로 감소
  • Apify Compute Units 사용량 약 60% 절감

Key Takeaway

브라우저 기반 자동화 설계 시 '무엇을 찾을 것인가'보다 '무엇을 로드하지 않을 것인가'를 먼저 정의하여 네트워크 I/O 및 CPU 오버헤드를 최소화하는 최적화 전략이 필수적임.


- 불필요한 정적 리소스(이미지, 폰트, CSS) 차단 리스트 작성 - 트래킹 및 분석용 서드파티 도메인 필터링 적용 - JS 기반 동적 렌더링 여부를 확인하여 스크립트 차단 범위 결정 - 리소스 차단 전후의 데이터 일치 여부 검증(Diff Test) 수행

원문 읽기