본문으로 건너뛰기
블로그로 돌아가기
크롬보다 가볍다는 Lightpanda, 내 스크래핑 작업에도 맞을까요? 2026 기준 5가지 확인
[TUTORIAL]

크롬보다 가볍다는 Lightpanda, 내 스크래핑 작업에도 맞을까요? 2026 기준 5가지 확인

퀀텀점프클럽 정상록퀀텀점프클럽 정상록15분 읽기1 views

무료 자료

PDF · 무료

크롬보다 가볍다는 브라우저, 믿어도 될까요?

긴 글을 다 읽기 전에, 실무 가이드부터 먼저 챙겨가세요.

크롬보다 가볍다는 Lightpanda, 내 스크래핑 작업에도 맞을까요? 2026 기준 5가지 확인

Lightpanda는 화면을 그리지 않아 가벼운 헤드리스 브라우저입니다. Lightpanda 팀이 데모 사이트 933개 페이지를 크롤한 자체 측정에서 크롬 헤드리스 탭 대비 속도는 하나씩 돌리면 약 1.6배, 25개씩 동시에 돌리면 약 9배 빨랐어요.

한 줄 답: Lightpanda는 크롬을 고친 것이 아니라 Zig로 처음부터 새로 만든 헤드리스 브라우저입니다. 화면 렌더링이 없어 메모리를 크게 아끼는 대신 실제 스크린샷과 일부 Web API를 포기했어요. 대량 텍스트 수집과 AI 에이전트의 페이지 읽기에는 맞고, 화면 검사나 자바스크립트로 화면을 그리는 복잡한 사이트에는 맞지 않습니다.

Lightpanda가 가볍다는 말, 내 작업에서도 그대로 통할까요?

결론부터 말하면 Lightpanda가 가벼운 건 사실이에요. 다만 숫자마다 붙은 측정 조건을 같이 읽어야 해요.

이런 질문이 먼저 떠오를 겁니다. "크롬보다 훨씬 가볍다던데, 내 스크래퍼에 붙이면 정말 그만큼 달라질까?" "Playwright 코드는 그대로 쓸 수 있나?" 헤드리스 브라우저(화면 없이 서버에서 웹페이지를 열고 읽고 클릭하는 브라우저)는 한번 정하면 바꾸기 번거로우니 따져 보는 게 당연하죠. 2026-11-02 기준 GitHub 별이 40,032개인 도구라 관심도 큽니다.

이 글에서는 성능 수치의 조건, 내부 구조, 웹 스크래핑 스크립트에 붙이는 방법, 한계, 라이선스를 차례로 짚습니다. 마지막에는 어디에 맞고 어디엔 안 맞는지 정리해요.

크롬보다 얼마나 가볍고 빠르다는 건가요?

Lightpanda 팀이 공개한 BENCHMARKS.md에 따르면 대표 수치는 크롤러 시험에서 나왔습니다. 아래 표는 Lightpanda 팀 자체 측정이에요. 1.0 이전 빌드(커밋 7b1f157, 2026-01-21 UTC)로 데모 사이트 933개 URL을 인터넷 너머로 가져오는 크롤을 돌렸고 Lightpanda 프로세스 N개와 크롬 143 헤드리스 탭 N개를 비교했습니다. 장비는 AWS 서버 한 대입니다.

병렬도Lightpanda 시간Lightpanda 메모리 피크크롬 시간크롬 메모리 피크
151.68초27.2MB82.83초1.3GB
511.70초43.9MB45.66초1.6GB
254.81초123.0MB46.70초2.0GB
1005.23초410.2MB69.37초4.2GB

병렬 25 행은 4.81초 대 46.70초라 약 9배 빠르고 메모리는 123MB 대 2GB라 약 16분의 1입니다. README가 내세우는 숫자가 이 행이에요. 표 아래 조건을 읽지 않으면 놓치기 쉬운 부분이 몇 가지 있습니다.

하나씩 돌리면 차이는 1.6배로 줄어요

같은 표에서 병렬 1을 보면 51.68초 대 82.83초입니다. 속도 차이는 약 1.6배예요. 9배는 동시에 여러 개를 돌릴 때의 숫자입니다. 메모리는 병렬 1에서도 27.2MB 대 1.3GB로 차이가 큽니다.

웹에 도는 11배·9배는 다른 시험이에요

X 개인 계정 게시물 등에 도는 11배 빠르고 메모리는 9분의 1이라는 문구는 옛 Campfire 로컬 시험의 결과입니다. 가짜 쇼핑몰 페이지 하나를 100번 반복해서 가져오는 시험이었어요. BENCHMARKS.md에 실린 같은 시험의 현재 수치는 Lightpanda 평균 16ms 대 크롬 헤드리스 185ms, 메모리 21.2MB 대 402.1MB입니다. 공식 문서는 이를 약 11배 빠르고 약 19배 적은 메모리로 요약해요. 크롤러 수치(9배·16배)와 한 문장에 섞으면 안 됩니다.

크롬은 탭, Lightpanda는 프로세스로 쟀어요

비교 단위도 달라요. 크롬은 브라우저 하나 안의 탭 N개, Lightpanda는 독립 프로세스 N개예요. 공식 문서는 각 브라우저가 실제로 늘어나는 단위라서 이렇게 비교했다고 설명합니다. 같은 프로세스 모델끼리 겨룬 결과는 아니라는 뜻입니다.

독립 재현은 찾지 못했어요

크롬과 같은 조건으로 제3자가 다시 잰 자료는 찾지 못했습니다. README 표의 지표명에는 "100 pages"라고 적혀 있지만 실제 값은 933개 URL, 병렬 25 결과예요. 100페이지 기준으로 옮겨 적으면 틀립니다.

DEV Community의 개인 측정(2026-03-23, macOS, 1.0 이전 nightly)은 도구 단위 비교라 크롬 대비 배수로 옮기지 않습니다. 작성자는 서버가 화면을 그려 주는 사이트(HackerNews·GitHub)에서는 잘 됐지만 자바스크립트로 화면을 그리는 SPA에서는 한계가 있었다고 적었어요.

Selenium과 AI 에이전트 시험은 어떤가요

모두 Lightpanda 팀이 직접 잰 값입니다.

  • Selenium 공식 예제 66개 중 Lightpanda 1.0.0은 43개를 통과했고 크롬은 65개를 통과했습니다(2026-10-06 블로그). 둘 다 통과한 43개를 하나씩 돌리면 40.8초·74MB 대 105.2초·552MB였어요. 비교 대상은 헤드리스 크롬 154와 chromedriver입니다.
  • 내장 lightpanda agent에 Claude Sonnet 4.6을 붙인 시험에서 엄격 정확도는 AssistantBench 33과제 69.7%, GAIA Level 1 53과제 83.0%였습니다. agent-browser가 Chromium을 몰 때와 Lightpanda를 몰 때 AssistantBench 정확도는 둘 다 57.6%였고, GAIA는 Lightpanda 쪽이 81.1%로 Chromium 쪽 84.9%보다 낮았어요. 공식 문서는 렌더링된 페이지라면 보였을 내용을 텍스트 출력이 놓친 탓이라고 설명합니다.

Lightpanda는 크롬과 무엇이 다르게 만들어졌나요?

Lightpanda 공식 저장소는 자신을 "Lightpanda: the headless browser designed for AI and automation"이라고 소개합니다. 공식 문서 What Is Lightpanda?는 출신을 분명히 밝혀요. "It is not a fork of Chromium, Blink, or WebKit: it is a new browser, written in Zig." 크롬이나 사파리 엔진을 고쳐 쓴 게 아니라 Zig라는 언어로 처음부터 새로 짠 브라우저라는 뜻입니다.

Lightpanda는 크롬과 무엇이 다르게 만들어졌나요?Lightpanda는 크롬과 무엇이 다르게 만들어졌나요?

Zig 코어 바이너리 하나에 V8·html5ever·libcurl을 얹고 화면 그리기 단계는 뺐습니다

자료: lightpanda.io · QJC 재구성

만든 이유는 운영 경험에서 나왔습니다. Lightpanda 1.0 블로그(2026-10-02)를 쓴 Francis Bouvier는 이렇게 적었어요. "At our previous company, we gathered data from over 20 million pages a day on a fleet of headless Chrome instances, and keeping it running was expensive and painful." 그만큼 많은 페이지를 크롬 무리로 매일 수집하던 경험이 출발점이라는 설명입니다.

구조는 Zig로 짠 코어 위에 검증된 부품 세 개를 얹은 모양입니다.

  • 자바스크립트 실행은 V8입니다. 크롬이 쓰는 그 엔진이고 1.0.0 기준 버전은 15.5.35.13이에요. 문서 표현은 "Lightpanda runs page scripts on V8 and does not reimplement JavaScript."입니다.
  • HTML 해석은 Servo 프로젝트의 html5ever(Rust 작성)가 맡습니다.
  • 네트워크는 libcurl입니다.
  • DOM(웹페이지 구조를 담는 나무 모양 데이터)과 Web API는 Zig로 직접 구현했습니다.

화면을 그리는 렌더링 단계는 아예 없어요. 이게 가벼운 이유이자 가장 큰 한계예요.

바이너리 하나가 네 가지 모드를 제공합니다. fetch는 페이지 하나를 받아 HTML이나 마크다운으로 덤프하고, serve는 CDP 서버(기본 포트 9222)를 띄웁니다. CDP는 크롬을 바깥 프로그램이 조종할 때 쓰는 통신 규약이고 Puppeteer와 Playwright가 이걸로 브라우저를 움직여요. mcp는 AI 에이전트가 외부 도구를 쓰게 해 주는 연결 규격(MCP) 서버이고, agent는 내장 AI 에이전트입니다. 한 프로세스에서 탭을 여러 개 열 수 없어서 병렬은 프로세스를 늘리는 방식이에요.

내 스크래핑 스크립트에는 어떻게 붙이나요?

아래 명령은 Lightpanda 공식 문서 기준입니다. README와 릴리스 파일 기준으로 바이너리는 Linux와 macOS용만 있고 네이티브 Windows 바이너리가 없어 Windows에서는 WSL을 씁니다. 공식 System requirements 문서는 Windows 10+를 적고 있어 공식 자료끼리 표기가 엇갈립니다.

1. 설치

curl -fsSL https://pkg.lightpanda.io/install.sh | bash

# 운영에는 버전을 고정해서 설치합니다
curl -fsSL https://pkg.lightpanda.io/install.sh | bash -s "1.0.0"

공식 설치 안내의 기본값은 매일 빌드되는 nightly입니다. 최신 정식 릴리스는 1.0.2(2026-10-23)이고 1.0.0은 2026-10-02에 나와 베타를 졸업했어요. Homebrew, Docker 이미지(lightpanda/browser), pip install lightpanda, npm install @lightpanda/browser도 있습니다.

2. 서버 띄우기

lightpanda serve --host 127.0.0.1 --port 9222

3. 기존 스크립트는 연결 한 줄만 바꿉니다

Puppeteer는 puppeteer-core를 설치하고 이렇게 연결해요.

const browser = await puppeteer.connect({
  browserWSEndpoint: 'ws://127.0.0.1:9222',
});
const context = await browser.createBrowserContext();
const page = await context.newPage();

Playwright는 playwright-core(파이썬은 pip install playwright)를 쓰고, 브라우저를 직접 띄우는 launch() 대신 떠 있는 서버에 붙는 connectOverCDP를 씁니다.

const browser = await chromium.connectOverCDP('ws://127.0.0.1:9222');

4. 한 페이지만 뽑을 때

lightpanda fetch --dump markdown https://example.com

--dump에는 html과 JSON-LD 같은 구조화 데이터도 지정할 수 있습니다.

5. AI 에이전트에 붙일 때

MCP 클라이언트 설정의 서버 항목에 아래 두 값을 넣으면 됩니다. 도구로는 goto, markdown, links, findElement, interactiveElements 등이 제공돼요.

"command": "/path/to/lightpanda",
"args": ["mcp"]

클라우드를 쓰고 싶다면

2026-11-02 가격 페이지 기준 Lightpanda Cloud는 Explorer 무료(월 10 브라우저 시간), Builder 월 $19(월 300시간), Enterprise는 별도 협의입니다. 직접 서버를 돌릴지 맡길지는 작업량으로 정하면 돼요.

Lightpanda는 어디까지 안 되나요?

장점 옆에 한계를 같이 놓고 봐야 합니다. 공식 자료에서 확인되는 항목은 이렇습니다.

  • 스크린샷: Lightpanda 공식 문서는 "Page.captureScreenshot returns a placeholder image, not a real render."라고 적습니다. 화면 비교, 캔버스, 레이아웃 검사에는 크롬이 필요해요.
  • Web API 범위: Lightpanda 1.0 블로그(2026-10-02)에 따르면 브라우저 표준 시험(WPT) 통과 서브테스트는 1,739,845개로, 같은 글이 인용한 Chrome 2,184,491개의 약 80%입니다. 문서는 범위를 이렇게 밝혀요. "Lightpanda implements the APIs headless automation exercises, not the entire web platform."
  • Playwright 이슈: 2026-11-02 기준 열려 있는 이슈 3076은 Playwright Test 표준 픽스처를 그대로 쓰면 미지원 명령, 불완전한 격리, 타임아웃이 생길 수 있다고 정리합니다. 같은 이슈 댓글에는 CDP로 미디어 에뮬레이션과 타임존을 설정해도 페이지에 반영되지 않는다는 보고가 있어요. 이슈 4186은 마우스 드래그가 동작하지 않는다는 보고예요. 모두 사용자 보고예요.
  • 사이트 차단: 공식 MCP 문서는 Google 검색 페이지가 이 브라우저를 막는다고 적고 검색 API를 권합니다. 자동 접근을 막는 사이트에서는 작업이 되지 않을 수 있어요. 막는 쪽을 피해 가는 방법은 이 글에서 다루지 않습니다.
  • 사용 통계: 텔레메트리가 기본으로 켜져 있습니다. 끄려면 LIGHTPANDA_DISABLE_TELEMETRY=true를 설정하세요. 문서 기준 방문 URL과 페이지 내용은 보내지 않습니다.
  • robots.txt: 준수가 기본으로 꺼져 있고 --obey-robots로 켭니다. 이 기본값을 두고 사이트 운영자 쪽 항의가 이슈 3156에 올라와 있어요.
  • 안정성: 기본 설치가 nightly라 운영에는 버전을 고정해야 합니다. Alpine 같은 musl 리눅스에서는 돌지 않습니다.

쓰기 전에 접속 예절과 라이선스는 어떻게 챙기나요?

접속 예절은 쓰는 사람이 정해요

Lightpanda 공식 Best Practices 블로그(2026-08-28)는 Lightpanda에 자체 접속 예절 정책이 없고 정책은 쓰는 사람이 정한다고 밝힙니다. 권고는 이렇습니다.

  • --obey-robots로 robots.txt를 따릅니다.
  • --http-nav-delay 1000처럼 같은 사이트로 가는 페이지 이동 사이에 간격을 둡니다.
  • --user-agent에 내 이름과 연락처를 밝힙니다.
  • 429·503 응답이 오면 물러섭니다.
  • 공식 API나 sitemap이 있으면 그쪽을 씁니다.
  • --block-private-networks로 내부망 접근을 막습니다.
lightpanda serve --host 127.0.0.1 --port 9222 \
  --obey-robots --http-nav-delay 1000 --block-private-networks

대상 사이트의 이용약관 확인은 별도로 필요합니다.

AGPL-3.0은 법무 검토부터 받으세요

저장소 LICENSE는 GNU AGPL v3입니다. 13조 문언은 프로그램을 수정했고 그 수정본이 네트워크로 원격 사용자와 상호작용하면, 그 사용자에게 수정본 소스를 받을 기회를 눈에 띄게 줘야 한다고 적어요. 수정하지 않고 별도 프로세스로 띄워 CDP로 조종하는 경우에 의무가 어디까지인지는 해석의 문제입니다. 상업 서비스에 넣기 전에는 법무 검토를 받으세요. 이 글은 써도 되는지 안 되는지를 판단하지 않습니다.

그래서 어디에 맞고 어디엔 안 맞나요?

맞는 곳안 맞는 곳
대량 텍스트 수집스크린샷, 화면 비교
AI 에이전트의 페이지 읽기캔버스, 레이아웃 검사
빠르게 돌려야 하는 테스트자바스크립트로 화면을 그리는 복잡한 SPA

HN의 2026-01-12 스레드에서 한 사용자는 lightpanda url | markitdown | sd 흐름을 셸 별칭으로 쓴다며 "It's solid. Definitely worth a check"라고 적었습니다. 커뮤니티 의견이라 사실 근거는 아니지만 읽기 중심 작업에 어울린다는 방향과 맞아요.

내 작업에 붙이기 전에 아래 5가지를 확인해 보세요.

  1. 화면 결과가 필요한가요? 스크린샷이나 레이아웃 검사가 하나라도 있으면 그 부분은 크롬이 맡아야 합니다.
  2. 대상 페이지가 서버 렌더링인가요, SPA인가요? 개인 측정(DEV Community)에서 클라이언트 자바스크립트 의존이 큰 SPA에 한계가 있었다는 보고가 있으니 SPA는 작은 샘플로 먼저 시험하세요.
  3. 동시에 몇 개를 돌리나요? 하나씩이면 속도 이득은 1.6배 수준이고, 25개 이상 동시에 돌릴수록 차이가 벌어졌습니다.
  4. 기존 코드가 Playwright Test 픽스처나 드래그를 쓰나요? 열린 이슈 3076·4186에 걸리는지 확인합니다.
  5. 서비스에 넣나요, 내부 도구인가요? 서비스라면 AGPL 검토와 접속 예절 설정(robots.txt, 간격, 연락처)을 같이 챙기세요.

마무리

Lightpanda는 화면 렌더링을 버린 대신 메모리와 속도를 얻은 도구입니다. 수치는 모두 Lightpanda 팀 자체 측정이고, 조건을 붙여 읽으면 크롬 헤드리스 탭 대비 병렬 1에서는 약 1.6배, 병렬 25에서는 약 9배 빠르다는 그림이 나와요. 서버에서 돌리는 크롤러와 AI 에이전트가 읽는 용도라면 시험해 볼 만하고, 스크린샷이 필요한 작업은 크롬을 그대로 두는 게 맞습니다. 이 글의 수치와 이슈 상태는 2026-11-02 기준이에요.

천천히 검토하셔도 됩니다. 궁금한 지점이 생기면 그때 위 참고 자료의 공식 문서에서 더 깊은 내용을 찾아보세요.


자주 묻는 질문

기존 Playwright 테스트 코드를 그대로 옮겨도 되나요?

연결부는 한 줄로 바꿀 수 있지만 테스트 전체를 그대로 옮기는 건 권하지 않아요. Lightpanda 공식 문서는 chromium.connectOverCDP('ws://127.0.0.1:9222')로 붙는 방법을 안내합니다. 다만 2026-11-02 기준 열린 이슈 3076은 Playwright Test 픽스처를 그대로 쓰면 미지원 명령이나 타임아웃이 생길 수 있다고 정리해요. 작은 스크립트 하나로 먼저 시험해 보세요.

Lightpanda가 내 방문 기록을 외부로 보내나요?

사용 통계(텔레메트리)는 기본으로 켜져 있고 LIGHTPANDA_DISABLE_TELEMETRY=true로 끌 수 있습니다. Lightpanda 공식 문서에 따르면 TLS 사용 여부, 컨텍스트 종류, 에이전트의 LLM 공급자·모델명을 보내고 방문 URL과 페이지 내용은 보내지 않아요. 사내 정책상 외부 전송을 막아야 한다면 환경변수로 먼저 끄세요.

Windows나 Alpine 리눅스에서도 돌아가나요?

README와 2026-11-02 기준 릴리스 파일에는 네이티브 Windows 바이너리가 없습니다. README는 WSL 안에서 Linux 절차를 따르라고 안내해요. 공식 System requirements 문서는 Windows 10+를 적고 있어 표기가 엇갈립니다. Linux 바이너리는 glibc에 링크돼 있어서 Alpine 같은 musl 배포판에서는 실행되지 않고, x86_64는 glibc 2.35 이상, arm64는 2.38 이상이 필요합니다.


참고 자료