Moait
홈인기 피드모든 블로그모든 태그
홈인기 피드모든 블로그모든 태그

Python의 멀티프로세싱과 Airflow, 그리고 관련된 문제 해결기 1편

NAVER D2 faviconNAVER D2·Architecture·
PythonAirflowMultiprocessingForkSpawn
2026년 09월 01일0

AI 요약

이 글은 AI가 요약했어요. 정확한 내용은 꼭 원문을 확인해 주세요!

핵심 요약

NAVER D2가 Airflow의 멀티프로세싱 PoC를 통해 fork와 spawn의 차이와 메모리 특성을 비교했습니다.

구현 방법

  • fork는 부모 실행 환경을 승계하고 Copy-on-Write로 메모리 공유를 활용, spawn은 새 인터프리터를 시작해 모듈 재등록이 필요합니다.
  • Linux smaps_rollup으로 RSS/PSS/USS를 측정하고 10개 자식 프로세스로 벤치마크했습니다.

주요 결과

  • 생성 시간: fork 4.3 ms, spawn 206.6 ms
  • import 시간: fork 거의 0 ms, spawn 2694.8 ms
  • 자식 PSS/USS: fork 9.4/1.9 MB, spawn 83.5/81.4 MB
  • 총 메모리: fork 120.8 MB, spawn 918.2 MB

의의

fork의 성능 이점은 크지만 부모 자원 승계 위험과 Python의 COW 비효율이 남아 있습니다.

연관 피드

%가 높을수록 이 글과 비슷할 가능성이 높아요!
No Image
67%

Airflow 3의 새벽 배치를 멈춘 건 JWT가 아니라 OOM이었다

롯데ON favicon롯데ON·2026년 08월 11일
No Image
64%

Airflow를 Docker에서 Kubernetes로 옮기며 배운 것들

미리디 favicon미리디·2025년 09월 30일
Airflow 환경 Docker compose로 containerization하기 섬네일
63%

Airflow 환경 Docker compose로 containerization하기

Naver Place faviconNaver Place·2023년 12월 04일